MySQL中create_time和update_time实现自动更新时间
更新时间:2023年05月28日 14:39:03 作者:我梦Leo
mysql建表的时候有两个列,一个是createtime、另一个是updatetime,这两个都是mysql自动填充时间的方式,本文就详细的介绍这两种方式的实现,感兴趣的可以了解一下
背景
根据《阿里巴巴Java开发手册》第五章MySQL数据库:第一节 建表规约,第9条: 【强制】表必备三字段:id,create_time,update_time。 说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。create_time,update_time 的类型均为datetime 类型,前者现在时表示主动式创建,后者过去分词表示被动式更新。
实现方式
- 按照《阿里巴巴Java开发手册》规范要求,create_time 和 update_time 数据类型先设定为 datetime 。
- 默认值设置为 CURRENT_TIMESTAMP。
- 更新时间( update_time )还要再设置一个ON UPDATE CURRENT_TIMESTAMP。
MySQL 实现
- 直接查看第四行(create_time)和第五行(update_time)的SQL语句即可。
- update_time 在create_time的基础上,还需要设置 ON UPDATE CURRENT_TIMESTAMP。
create table datetime ( id bigint unsigned primary key auto_increment comment "id", name varchar not null comment "名称", create_time datetime not null default CURRENT_TIMESTAMP comment "创建时间", update_time datetime not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment "更新时间", ) engine = Innodb default charset = utf8mb4 comment = "演示表";
Navicat 实现
- create_time :不勾选“根据当前时间戳更新”。
- update_time:勾选“根据当前时间戳更新”。
DataGrip 实现
- create_time :ON UPDATE 不设置 CURRENT_TIMESTAMP。
- update_time:ON UPDATE 设置 CURRENT_TIMESTAMP。
到此这篇关于MySQL中create_time和update_time实现自动更新时间的文章就介绍到这了,更多相关MySQL create_time和update_time自动更新时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论