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

文章目录

    今天在使用 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.

    没有区别。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式