MySQL8 设置自动创建时间和自动更新时间

Posted 在奋斗的大道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL8 设置自动创建时间和自动更新时间相关的知识,希望对你有一定的参考价值。

业务场景:

1、在数据库表中的数据,要求记录每一条新增数据的创建时间,时间格式要求明确至:年月日:时分秒。

2、在数据库表中的数据,要求记录每一条更新数据的更新时间,时间格式要求明确至:年月日:时分秒。

功能实现:

1、为每张业务表添加create_time 和update_time 字段,且将字段类型设置为:timestamp

2、为每张业务表的create_time 和update_time 字段,设置默认值:CURRENT_TIMESTAMP

DDL 脚本语法:

1、新增字段create_time语法

ALTER TABLE  表名
ADD COLUMN 字段名 timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

实例:为User表 新增create_time设置默认时间 CURRENT_TIMESTAMP 

ALTER TABLE User
ADD COLUMN create_time datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

2、修改字段create_time语法

ALTER TABLE 表名
MODIFY COLUMN  字段名 timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

实例:修改User 表中的create_time设置默认时间 CURRENT_TIMESTAMP 

ALTER TABLE User
MODIFY COLUMN  create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ;

3、新增字段update_time 语法

ALTER TABLE 表名
ADD COLUMN 字段名 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ;

实例:为User表 新增update_time 设置默认时间 CURRENT_TIMESTAMP 

ALTER TABLE User
ADD COLUMN Update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ;

4、修改字段update_time 语法

ALTER TABLE 表名
MODIFY COLUMN 字段名 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ;

实例:修改User 表中的update_time设置默认时间 CURRENT_TIMESTAMP  

ALTER TABLE User
MODIFY COLUMN update_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ;

以上是关于MySQL8 设置自动创建时间和自动更新时间的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库时间设置自动添加时间和自动更新时间

我爱java系列之---mysql自动更新创建时间和更新时间

Mysql中怎么使设置了自动增加的id,实现动态更新?

Linux 修改系统时间的两种方式

django django 有像 cakephp 这样的自动时间戳创建/更新字段吗?

mysql怎么在创建表时设置默认时间为系统时间