我的mysql表中有一个字段,其数据类型为datetime,默认值为CURRENT_TIMESTAMP。我认为它将仅在插入时使用此值。这在插入和更新时都已更改。合适吗?

我没有ON UPDATE CURRENT_TIMESTAMP,也没有更新该列。

我的问题是,如果我只有一个数据类型为datetime且默认值为CURRENT_TIMESTAMP的列,则即使ON UPDATE CURRENT_TIMESTAMP不存在,记录更新时它也会更改该列吗?

最佳答案

听起来好像您有:

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP


但是,您似乎想要:

DEFAULT CURRENT_TIMESTAMP


两者之间的区别在于,第一个将在插入和更新时都更新timestamp列,第二个将仅在插入期间提供TIMESTAMP,而不会在更新行时更新。

您可以通过使用MySQL中的DESCRIBE函数描述特定表的架构来检查表正在使用的内容。

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

10-06 07:23
查看更多