目前有些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操作时的时间。
使用这两个字段的作用,