MySQL ON UPDATE CURRENT_TIMESTAMP的使用

编程入门 行业动态 更新时间:2024-10-25 02:22:27

结论

MySQL中,有某个时间字段(如update_time):
①、当该字段类型设置为timestamp时,如果其默认值赋值为CURRENT_TIMESTAMP,那么插入一条记录时,该字段的值会自动设置为系统当前时间;
②、如果设置或在navicat可视化GUI中勾选了 “ON UPDATE CURRENT_TIMESTAMP”字段属性时,则时间字段会随着update命令进行实时更新。即当数据表的其他字段发生变化时,该时间字段自动更新为最新的时间。

实验

初始化测试表person:

CREATE TABLE `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

通过navicat查看person表:

初始值为:

实验①、为update_time添加 ON UPDATE CURRENT_TIMESTAMP 支持

ALTER TABLE person MODIFY COLUMN `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间';

update `person` set name='ShangHai' where id=1;


可以看到,update_time字段均因为name的修改而被更新。

实验②、继续为create_time添加 ON UPDATE CURRENT_TIMESTAMP 支持

ALTER TABLE person MODIFY COLUMN `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间';


update `person` set name='BeiJing' where id=2;


可以看到,2个时间字段均因为name的修改而被更新。

更多推荐

MySQL ON UPDATE CURRENT_TIMESTAMP的使用

本文发布于:2023-06-14 01:17:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1421994.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:MySQL   UPDATE   CURRENT_TIMESTAMP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!