自动记录数据的改变时间

TIMESTAMP列类型提供一种类型,TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果你有多个TIMESTAMP列,只有第一个自动更新。

自动更新第一个TIMESTAMP列在下列任何条件下发生:

  • 列没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。
  • 列没有明确地在一个UPDATE语句中指定且一些另外的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)
  • 你明确地设定TIMESTAMP列为NULL.

除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

创建一个student 表:

 

插入一条记录:

 

更新的时候time列也会自动更新:

 

如果你只想改变time列的值,不想改变其他值,只要将其设置为null。

 

另一种情形,你想改变其他值,但是不想动time列:

 

posted @ 2015-03-04 12:44  平静缓和用胸音说爱  阅读(266)  评论(0编辑  收藏  举报