帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【服务器相关】MySQL基础:MySQL中创建时间和更新时间的自动更新的实现示例 timestamp

发表时间:2025-06-16 03:46:00 小编:主机乐-Yutio

一、需求

当新增记录的时候,MySQL自动将系统的当前时间 set 到创建时间和更新时间这两个字段中。
当更新记录的时候,MySQL 只 update 更新时间字段的时间,而不修改创建时间字段对应的值。


二、方案

找到表中对应的创建时间和更新时间的字段,将其修改如下:

  • 创建时间字段creat_time timestamp NULL DEFAULT CURRENT_TIMESTAMP

  • 更新时间字段update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

  • 如此便不需要在代码中对记录设置创建时间和修改时间了。在 navicat 中的操作:找到相应的表&mdash;右击&mdash;>点击“设计表”&mdash;>如下图:

    插入记录时自动生成创建时间:

    更新记录时自动生成修改时间:


    创建时间(创建日期)、修改时间(修改日期)设置为自动生成


    创建日期的自动生成

    创建日期的自动生成比较好说:
    字段默认值设置为 CURRENT_TIMESTAMP ,这样在新增的时候,日期会自动生成。
    sql语句为:

    CREATE TABLE T_USER(
    CREATE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UPDATE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )

    当然,数据库设计工具也可以直接设置。


    更新日期的自动生成

    更新日期稍微麻烦一点,因为默认值是新增的时候才有效,update的时候不会触发default的逻辑。

    这里用触发器:

    create or replace trigger T_USER_UPDATE_TRIGGER
    before update on T_USER for each row
    begin
    :new.UPDATE_DATE := sysdate;
    end;

    到此这篇关于MySQL中创建时间和更新时间的自动更新的文章就介绍到这了,更多相关MySQL自动更新创建时间和更新时间内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!



    正在回复: 取消回复

    发表评论

    暂无评论
    成为第一个留下见解的人

    联系我们
    返回顶部