CREATE TABLE `aaj` (
`ID` int(10) NOT NULL,
`aaj` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`mahina` varchar(6) GENERATED ALWAYS AS (convert(date_format(`aaj`,'%y/%m') using utf8mb4)) STORED NOT NULL,
`saptaah` varchar(7) GENERATED ALWAYS AS (convert(date_format(`aaj`,'%x/%v') using utf8mb4)) STORED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我认为您想要ON UPDATE CURRENT_TIMESTAMP
:
CREATE TABLE `aaj` (
`ID` int(10) NOT NULL,
`aaj` timestamp NOT NULL
DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`mahina` varchar(6) GENERATED ALWAYS
AS (convert(date_format(`aaj`,'%y/%m') using utf8mb4)) STORED NOT NULL,
`saptaah` varchar(7) GENERATED ALWAYS
AS (convert(date_format(`aaj`,'%x/%v') using utf8mb4)) STORED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
旁注:通常,与表名相同的列(在此为aaj
)通常不是一个好习惯:从数据库角度来看,这不是问题,但它会使人感到困惑。