我的mysql表中有两列:created_on和modified_on。我已将created_on列的默认值设置为CURRENT_TIMESTAMP。因此,在表中的每个插入操作中,created_on列正确地将值设置为当前时间戳。但是我希望当我更新同一行时,'modified_on'列将值更新为更新时的时间戳。让我知道如果我使用任何函数/触发器来执行此操作,或者是否有任何内置的mysql功能用于相同的
答案 0 :(得分:4)
尝试使用ON UPDATE
关键字更改您的表格,如:
ALTER TABLE `tableName`
CHANGE `modified_on` `modified_on` TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP;
或者您可以在插入时添加默认值,如:
ALTER TABLE `tableName`
CHANGE `modified_on` `modified_on` TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
NOT NULL DEFAULT CURRENT_TIMESTAMP ;
创建表时,您还可以将ON UPDATE
定义为时间戳数据类型。
答案 1 :(得分:1)
写一个触发器来执行此操作