日期:2014-05-16  浏览次数:20754 次

MySQL中当记录更新时 timestamp类型自动更新时间

做项目需要用到这个特性。

?

我使用navicat,如果将日期类型选择为timestamp时,会发现IDE多了一个选项:

查看IDE自动生成的sql语句:

?写道
`lastUpdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP

?如果去掉这个选项后:

?写道
`lastUpdate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'

?区别就是“ ON UPDATE CURRENT_TIMESTAMP”了,他的作用就是当记录有“变化“时会自动更新lastUpdate时间为系统当前时间。

?

注意:特意强调了有变化,换句话说,即使使用update语句,但是内容没有变化的话,该值就不会自动更新了。