如果同一行中的字符串已更新,如何更新mysql时间戳?

如果同一行中的字符串已更新,如何更新mysql时间戳?,mysql,timestamp,sql-update,Mysql,Timestamp,Sql Update,共有3列->“名称”、“已创建”、“上次修改” 如果且仅当名称已被修改时,我将最后修改以显示日期。 每次更新名称时,必须更新上次修改的名称 如何做到这一点 CREATE TABLE t ( Name VARCHAR(255) , Created DATETIME DEFAULT CURRENT_TIMESTAMP , Last_Modified DATETIME DEFAULT CURRENT_TIMESTAMP ) 这段MySQL代码应该可以工作 ALTER TABLE t CHA

共有3列->“名称”、“已创建”、“上次修改”

如果且仅当名称已被修改时,我将最后修改以显示日期。 每次更新名称时,必须更新上次修改的名称

如何做到这一点

CREATE TABLE t (
   Name VARCHAR(255)
 , Created DATETIME DEFAULT CURRENT_TIMESTAMP
 , Last_Modified DATETIME DEFAULT CURRENT_TIMESTAMP )

这段MySQL代码应该可以工作

ALTER TABLE t
CHANGE last_modified last_modified DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;

请参见

您可以简单地更改上次修改的列,以更新默认的当前\u日期?那么,每次更改值的更新都应该更新上次修改的列。@RaymondNijland,是的,当我遇到错误时,你能给出代码段吗?哦,我说的是当前日期吗?我是说当前时间戳看到我的答案,我总是把它们混在一起。。My Observice MySQL还应允许DATETIME或TIMESTAMP数据类型上的CURRENT_DATE或CURRENT_DATETIME,但必须确保DATETIME。。因为在我看来,在更新当前\u日期时间时写入列\u名称日期时间默认当前\u日期时间比在更新当前\u时间戳时写入列\u名称日期时间默认当前\u时间戳更有意义