mysql中timestamp类型字段的默认行为

mysql建表时,对第一个timestamp类型的字段,如果未指定默认值,则会自动设置为CURRENT_TIMESTAMP,并且添加on update current_timestamp属性。意思是,该记录的其他字段如果发生修改时,那个timestamp类型的字段会被自动修改为当前时间戳。

这个特性在某些场合很有用,比如lastmodified字段,用来追踪上次修改时间。

但其他场合,就必须小心这个特性了,等你意识到时间戳字段怎么老是变化时,情况通常已经很严重了。你能做的就是在设计表的时候加倍小心。

下面是例子:

建表时未指定默认值:
QQ20140815-1

建表完成后看表结构:
QQ20140815-2

建表时指定了默认值:
QQ20140815-3

此时的表结构:
QQ20140815-4

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据