mysql数据库自动添加创建时间及更新时间

bangongJIAO1@c 发布于 2025-12-01 阅读(2)
目录
  • 前言
  • 1、描述
  • 2 完整的操作 SQL
    • 2.1 修改现有表中的时间列默认值为自动获取
    • 2.2 现有表中添加时间列设置默认值
    • 2.3 创建表时时间列设置默认值
  • 总结

    前言

    志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。

    1、描述

    在mysql中,添加表中的列类型为时间类型(timestamp)时,可设置默认值

    设置时间列的默认值为自动获取创建时间:

    default CURRENT_TIMESTAMP
    

    设置时间列的默认值为自动获取更新时间:

     default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
    

    再添加个值不可为null

    #创建时间
    not null default CURRENT_TIMESTAMP
    # 更新时间
    not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
    

    2 完整的操作 SQL

    2.1 修改现有表中的时间列默认值为自动获取

    修改表 t_user 中的 create_time 列 在插入新的数据时 如果值为空就设置为当前的系统时间

    #修改表 t_user 中的 create_time 列 在插入新的数据时 如果值为空就设置为当前的系统时间
    ALTER TABLE t_user MODIFY create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间';
    

    修改表 t_user 中的 update_time 列 在修改的数据时 如果值为空就设置为当前的系统时间

    #修改表 t_user 中的 update_time 列 在修改的数据时 如果值为空就设置为当前的系统时间
    ALTER TABLE t_user MODIFY update_time timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '更新时间';

    2.2 现有表中添加时间列设置默认值

    新增表 t_user 中的 create_time 列

    #新增表 t_user 中的 create_time 列 
     ALTER TABLE t_user ADD create_time timestamp not null default CURRENT_TIMESTAMP COMMENT '创建时间';
    

    新增表 t_user 中的 update_time 列

     #新增表 t_user 中的 update_time 列 
     ALTER TABLE t_user ADD update_time timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '更新时间';

    2.3 创建表时时间列设置默认值

    create table t_user(
      id integer not null auto_increment primary key,
      user_name varchar(20) not null ,
      update_time timestamp  default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '更新时间',
        create_time timestamp  default CURRENT_TIMESTAMP COMMENT '创建时间'
    );
    

    总结