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语句,但是内容没有变化的话,该值就不会自动更新了。