SQL中TIMESTAMP属性CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP

阅读数:23 评论数:0

跳转到新版页面

分类

数据库

正文

SQL语句中TIMESTAMP类型提供一种类型,你可以使用它自动地用当前的日期和时间标记INSERT或UPDATE的操作,它有两个属性,一个是

一、CURRENT_TIMESTAMP

    当要向数据库执行insert操作时,如果有个timestamp字段属性设为CURRENT_TIMESTAMP,则无论这个字段有没有set值都插入当前系统时间

二、ON UPDATE CURRENT_TIMESTAMP

    当执行update操作是,并且字段有ON UPDATE CURRENT_TIMESTAMP属性。则字段无论值有没有变化,它的值也会跟着更新为当前UPDATE操作时的时间。

当使用数据库连接工具时,可能无法设置on update current_timestamp这个属性,可以通过下面的方式进行设置。

alter table `tb_user_goods_bill`
    modify column `bill_time` TIMESTAMP
    default current_timestamp
  on update current_timestamp
  not null
  ;

1、timestamp字段不一定自动更新

如果更新记录的所有其他字段没有变化,timestamp字段的不会自新。