一个带有多个TIMESTAMP列的Mysql表

我想要一个有两TIMESTAMP列的表。一栏用于记录的创建时间,另一栏用于记录的修改时间。我希望这些值由数据库处理。我不想让我的应用程序层考虑一下。

我知道,如果您有一个TIMESTAMP带有DEFAULT CURRENT_TIMESTAMP或的列,ON UPDATE

CURRENT_TIMESTAMP那么您将无法拥有另一个TIMESTAMP列。您可以使用,DATETIME但没有办法在触发器之外默认它,据我所知。

我发现您可以具有多个TIMESTAMP列,方法是将每个列不带DEFAULT或保留,ON

UPDATENULL在创建记录时插入,以使每个列具有当前时间戳。从这一点开始,第一列将自动更新。

这个效果非常好,但是给我一种有趣的感觉。这样可能是一个错误,并且可以随时对其进行修补。如果这是应该工作的方式,那就这样吧。我会很高兴地继续前进。谁能告诉我这是最好的方法还是应该使用触发器?

回答:

它记录在MySQL文档中:

另外,

,除非已使用NULL属性将其定义为允许NULL值。

http://dev.mysql.com/doc/refman/5.0/en/timestamp-

initialization.html

以上是 一个带有多个TIMESTAMP列的Mysql表 的全部内容, 来源链接: utcz.com/qa/398613.html

回到顶部