MySQL实现datetime时间字段类型插入、更新操作自动填充

原创 阁主  2026-04-02 04:38:42  阅读 15435 次 评论 0 条
摘要:

阿里巴巴的数据库手册有提到,在数据库的所有表里,必须有create_time和update_time,同时还要实现自动化。对于不管是用户的操作还是管理员的操作,对于update_time字段一定要及时更新记录自动填充更新为当前时间。

说明

工具:我使用的数据库管理工具是Navicat Premium 16,这是一款非常不错的可视化数据库管理工具,道友门可自行右上角搜索关键字下载。

特殊情况:注意本文方法仅限用于MySQL版本≥5的情况。

实现方法

按下面的四个小步骤先建立张数据表test1,字段有id、content、create_time、update_time。

(1)id字段设置如下:

(2)content字段设置如下:

(3)create_time字段需要设置一个默认值CURRENT_TIMESTAMP,设置如下:

(4)update_time字段也需要设置一个默认值CURRENT_TIMESTAMP,与create_time字段不同的是需要勾选根据当前时间戳更新,设置如下:

测试结果

1.先测试写入一条记录的情况,结果为运行写入sql语句后创建时间和更新时间都是同步更新最新的系统时间。

INSERT INTO `guer`.`test1` (`content`) VALUES ('写入测试,后面的创建时间和更新时间会同时自动更新为当前时间戳')

2.更新一条记录,结果为写入时间不变,更新记录的时间更新为最新的系统时间。

UPDATE `guer`.`test1` SET `content` = '现在是更新后的内容,创建时间不变,更新时间会自动更新。' WHERE `id` = 1

总结

总结就是两句话:

1.DEFAULT CURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间

2.ON UPDATE CURRENT_TIMESTAMP表示每次更新这条数据的时候,该字段都会更新成当前时间

本文地址:https://www.mainblog.cn/337.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
NEXT:已经是最新一篇了

评论已关闭!