MySQL created_at 日期时间字段在数据变更时,自动更新

更新日期: 2020-04-22 阅读次数: 614 字数: 221 分类: MySQL

今天在使用 GoAdmin 开发后台功能时,发现 GoAdmin 没有像 Laravel 那样自带 created_at 字段更新功能。即数据发送变化时,无法自动更新 created_at 字段。

而 formList.SetUpdateFn 这个功能,需要将所有字段都处理,也不方便更新 created_at.

最终在 GoAdmin QQ 群里请教了一下大佬,得到了一个不错的解决方法,即直接使用 MySQL 的 on update 功能。

MySQL created_at 日期时间字段在数据变更时,自动更新

MySQL Workbench 中右键点击字段名,在右键菜单中选择最后一项

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

即可。

对应的 SQL 语句为:

ALTER TABLE `title_template`
CHANGE COLUMN `updated_at` `updated_at` DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ;

NOW 与 CURRENT_TIMESTAMP 的区别

Notice that CURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW() so you can use them interchangeably.

没有区别。

爱评论不评论

近期节日

2020年06月11日 中国人口日
2020年06月20日 世界难民日
2020年06月21日 父亲节
2020年06月21日 夏至
2020年06月22日 中国儿童慈善活动日
2020年06月23日 国际奥林匹克日
2020年06月25日 全国土地日
2020年06月25日 端午节
2020年06月26日 国际禁毒日
2020年06月30日 世界青年联欢节
2020年07月01日 中国共产党诞生日
2020年07月01日 香港回归日
查看更多节日