从MySQL 5.6.5开始,您可以使用DATETIME类型与动态默认值:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
或者甚至组合两个规则:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在5.6.5之前,您需要使用TIMESTAMP数据类型,每当修改记录时,它会自动更新。然而,不幸的是,每个表只能存在一个自动更新的TIMESTAMP字段。
CREATE TABLE mytable (
mydate TIMESTAMP
)
如果要防止MySQL更新UPDATE上的时间戳值(以便它只触发INSERT),您可以将定义更改为:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)