MySQL CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP ---- 自动更新日期
前言
在查询MySQL日期类型datetime与timestamp区别时,看到了CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP的用法(date是日期没有时间、datetime是日期加时间类型、timestamp是时间戳从1970年开始)
CURRENT_TIMESTAMP
CURRENT_TIMESTAMP是获取当前时间,在设计表里面默认也可以调
ON UPDATE CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP则是根据当前时间戳更新
测试
首先创建一张测试表,带自动更新的timestamp以及不会自动更新的datetime
再插入两条数据
看数据样式
记着这个时间我们去查询表
查询表数据没有更新时间戳
那么去试试更新表
我们发现设置 ON UPDATE CURRENT_TIMESTAMP 的timestamp的时间自动更新了
总结
- CURRENT_TIMESTAMP 可以获取当前时间戳,可以应用于表字段的默认值和now()函数相同
- ON UPDATE CURRENT_TIMESTAMP 可以根据当前时间戳更新字段,可以通过创建表、修改表字段、或者通过可视化工具设计表进行修改(在有需求进行更新表时,更新字段为当前时间时设置 ON UPDATE CURRENT_TIMESTAMP属性,比如最后更新表时间)