我的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