下表中如何通过日期更改来更新字段'aaj'?

问题描述 投票:0回答:1
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;
mysql sql date sql-update create-table
1个回答
1
投票

我认为您想要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)通常不是一个好习惯:从数据库角度来看,这不是问题,但它会使人感到困惑。

© www.soinside.com 2019 - 2024. All rights reserved.