我想要一张包含两个 TIMESTAMP
列的表。一列用于跟踪记录的创建时间,另一列用于跟踪记录的修改时间。我希望这些值由数据库处理。我不想让我的应用层考虑它。
我知道,如果您有一个 TIMESTAMP
列和一个 DEFAULT CURRENT_TIMESTAMP
或一个 ON UPDATE CURRENT_TIMESTAMP
你不能有另一个 TIMESTAMP
列。您可以使用 DATETIME
但据我所知,在触发器之外无法默认它。
我发现你can have multiple TIMESTAMP
columns通过将每个不带 DEFAULT
或 ON UPDATE
并在创建记录时插入 NULL
来使每个都具有当前时间戳。从那时起,第一列将自动更新。
这非常有效,但它给我留下了一种有趣的感觉。像这可能是一个错误,它可以随时修补。如果这是它应该工作的方式,那就这样吧。我会高高兴兴地走上我的路。谁能告诉我这是最好的方法还是我应该使用触发器?
最佳答案
它记录在 MySQL 文档中:
In addition, you can initialize or update any TIMESTAMP column to the current date and time by assigning it a NULL value, unless it has been defined with the NULL attribute to permit NULL values.
http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html
关于mysql - 一个具有多个 TIMESTAMP 列的 Mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4851672/