mysql 设置 DEFAULT 和 ON UPDATE 自动更新 create_time 和 update_time

create_time 和 update_time 字段,可以通过代码逻辑来添加,比如通过 orm 框架自动写入。

该功能通过 mysql 本身就可以实现,就免去不同语言、不同框架中特定的代码处理逻辑。

create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

把原有未设置该机制的 create_time 和 update_time 字段升级:

ALTER TABLE diary
  MODIFY COLUMN create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;

ALTER TABLE diary
  MODIFY COLUMN update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
本文收录于专栏
一些 MySQL 使用过程中的记录