【发布时间】:2011-01-31 13:58:02
【问题描述】:
我想要一张有两个TIMESTAMP 列的表。一列用于跟踪记录的创建时间,另一列用于跟踪记录的修改时间。我希望这些值由数据库处理。我不想让我的应用层考虑它。
我知道,如果您有一个带有 DEFAULT CURRENT_TIMESTAMP 或 ON UPDATE CURRENT_TIMESTAMP 的 TIMESTAMP 列,则您不能拥有另一个 TIMESTAMP 列。您可以使用DATETIME,但据我所知,在触发器之外无法默认它。
我发现你 can have multiple TIMESTAMP columns 不带 DEFAULT 或 ON UPDATE 并在创建记录时插入 NULL,导致每个都有当前时间戳。从那时起,第一列将自动更新。
这非常有效,但它给我留下了一种有趣的感觉。像这可能是一个错误,它可以随时修补。如果这是它应该工作的方式,那就这样吧。我会高高兴兴地走上我的路。谁能告诉我这是最好的方法还是我应该使用触发器?
【问题讨论】: