欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql设置修改时间,更新记录当前时间

程序员文章站 2022-06-05 21:44:21
...

1.场景:用户对绑定自己的车牌到手机号,一个手机号只能绑定一个车牌。用户可以有多个车牌,但只能有一个车牌绑定。由于用户随时可以操作车牌绑定,解除绑定操作。所以测试人员只能看到结果,但是无法确认操作时间。为了进一步确认操作时间,向mysql的表添加一个字段,字段类型是timestamp,默认值为 CURRENT_TIMESTAMP。 CURRENT_TIMESTAMP的用法很讲究。

(1).不仅插入时current_timestamp值,更新时也有current_timestamp值。

(2).TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录和修改现有记录的时候都对这个数据列刷新

(3).TIMESTAMP DEFAULT CURRENT_TIMESTAMP  在创建新记录的时候把这个

字段设置为当前时间,但以后修改时,不再刷新它

        (4).TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  在创建新记录的时候把这个字段设置为0,

自动UPDATE 和INSERT 到当前的时间

 

例子:ALTER TABLE car MODIFY modify_date  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

 

SELECT * FROM car WHERE id=123

ID USER_ID CAR_NUMBRAND_ID TYPE IS_BINGDING  DATE_RECORDED D modify_date

123 123sdfsdsdfseven02015-07-20 10:34:44 null        2015-07-20 10:45:42

 

UPDATE car SET is_bingding=1 WHERE id='123'

 

IDUSER_IDCAR_NUMBRAND_IDTYPEIS_BINGDINGDATE_RECORDEDD modify_date

123123sdfsdsdfseven12015-07-20 10:34:44null2015-07-20 11:06:31

 

更新时,记录了当前时间。非常棒!

 

总结:针对用户绑定和解绑车牌的操作,查看操作时间。实现该功能考虑单独创建操作日志表。包含车牌和用户信息。