mysql时间戳列

Dón*_*nal 28 mysql timestamp

是否可以在MySQL表中定义一个时间戳列,每当修改同一行中的字段时,该列将自动更新?理想情况下,此列最初应设置为插入行的时间.

干杯,唐

qui*_*cel 40

您可以使用timestamp列作为其他提到的海报.以下是可用于添加列的SQL:

ALTER TABLE `table1` ADD `lastUpdated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Run Code Online (Sandbox Code Playgroud)

这会添加一个名为"lastUpdated"的列,其默认值为当前日期/时间.当该记录更新时(比如5分钟后),该时间戳将自动更新为当前时间.

  • 以下似乎就足够了:ALTER TABLE`table1` ADD`lastUpdated` TIMESTAMP; (7认同)

Ada*_*ire 21

这是timestamp列类型的默认功能.但请注意,此类型的格式为yyyymmddhhmmss(所有数字,无冒号或其他分隔).

编辑:以上关于格式的评论仅适用于MySQL <4.1的版本......后来的版本将其格式化为DateTime

  • 根据MySQL 5.0文档,时间戳类型与datetime的格式相同(例如'YYYY-MM-DD HH:MM:SS'). (4认同)