mysql 之创建时间和更新时间字段设计CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP

目前有些java项目是利用代码去维护create_time,和update_time 这两个字段。可以是可以但是为了减轻代码量,还是建议使用mysql数据库自己维护这两个字段。

 

1.解决

在建表时,以下面格式创建字段,当第一次插入数据时,创建时间和更新时间会自动填写成当前时间,当存在数据变更是,更新时间会变为当前时间,创建时间不变。

语法如下:

`create_time` timestamp not null default current_timestamp comment '创建时间',
`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间',

 2.那CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP区别和作用

  1). CURRENT_TIMESTAMP

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

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

使用这两个字段的作用,

原文地址:https://www.cnblogs.com/dw-date/p/14335676.html