在数据库使用中经常使用到时间字段。常用的有创建时间和更新时间。
然而在使用中想要创建时间在创建的时候自动设置为当前时间,更新时间在更新时自动更新为当前时间。
创建表 stu
1
2
3
4
5
|
CREATE TABLE `stu` ( 'id' int NOT NULL AUTO_INCREMENT, 'createTime' timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' , 'moditiyTime' timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' , PRIMARY KEY ( 'id' )); |
创建的时候设置当前时间
1
|
DEFAULT CURRENT_TIMESTAMP |
更新的时候设置更新时间为当前时间
1
|
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
补充:MySQL为字段添加默认时间(插入时间)
应用场景:
1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;
2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;
实现方式:
1、将字段类型设为 TIMESTAMP
2、将默认值设为 CURRENT_TIMESTAMP
举例应用:
1、MySQL 脚本实现用例
–添加CreateTime 设置默认时间 CURRENT_TIMESTAMP
1
2
|
ALTER TABLE table_name ADD COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间' ; |
–修改CreateTime 设置默认时间 CURRENT_TIMESTAMP
1
2
|
ALTER TABLE table_name MODIFY COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间' ; |
–添加UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
1
2
|
ALTER TABLE table_name ADD COLUMN UpdateTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘创建时间' ; |
–修改 UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
1
2
|
ALTER TABLE table_name MODIFY COLUMN UpdateTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘创建时间' ; |
2、MySQL工具设置
MySQL自动管理,保持和数据库时间一致性。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/zhaopengcheng/p/11597438.html