在數(shù)據(jù)庫(kù)使用中經(jīng)常使用到時(shí)間字段。常用的有創(chuàng)建時(shí)間和更新時(shí)間。
然而在使用中想要?jiǎng)?chuàng)建時(shí)間在創(chuàng)建的時(shí)候自動(dòng)設(shè)置為當(dāng)前時(shí)間,更新時(shí)間在更新時(shí)自動(dòng)更新為當(dāng)前時(shí)間。
創(chuàng)建表 stu
CREATE TABLE `stu` (
'id' int NOT NULL AUTO_INCREMENT,
'createTime' timestamp DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
'moditiyTime' timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
PRIMARY KEY ('id'));
創(chuàng)建的時(shí)候設(shè)置當(dāng)前時(shí)間
DEFAULT CURRENT_TIMESTAMP
更新的時(shí)候設(shè)置更新時(shí)間為當(dāng)前時(shí)間
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
補(bǔ)充:MySQL為字段添加默認(rèn)時(shí)間(插入時(shí)間)
應(yīng)用場(chǎng)景:
1、在數(shù)據(jù)表中,要記錄每條數(shù)據(jù)是什么時(shí)候創(chuàng)建的,不需要應(yīng)用程序去特意記錄,而由數(shù)據(jù)數(shù)據(jù)庫(kù)獲取當(dāng)前時(shí)間自動(dòng)記錄創(chuàng)建時(shí)間;
2、在數(shù)據(jù)庫(kù)中,要記錄每條數(shù)據(jù)是什么時(shí)候修改的,不需要應(yīng)用程序去特意記錄,而由數(shù)據(jù)數(shù)據(jù)庫(kù)獲取當(dāng)前時(shí)間自動(dòng)記錄修改時(shí)間;
實(shí)現(xiàn)方式:
1、將字段類(lèi)型設(shè)為 TIMESTAMP
2、將默認(rèn)值設(shè)為 CURRENT_TIMESTAMP
舉例應(yīng)用:
1、MySQL 腳本實(shí)現(xiàn)用例
–添加CreateTime 設(shè)置默認(rèn)時(shí)間 CURRENT_TIMESTAMP
ALTER TABLE table_name
ADD COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘創(chuàng)建時(shí)間' ;
–修改CreateTime 設(shè)置默認(rèn)時(shí)間 CURRENT_TIMESTAMP
ALTER TABLE table_name
MODIFY COLUMN CreateTime datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘創(chuàng)建時(shí)間' ;
–添加UpdateTime 設(shè)置 默認(rèn)時(shí)間 CURRENT_TIMESTAMP 設(shè)置更新時(shí)間為 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE table_name
ADD COLUMN UpdateTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘創(chuàng)建時(shí)間' ;
–修改 UpdateTime 設(shè)置 默認(rèn)時(shí)間 CURRENT_TIMESTAMP 設(shè)置更新時(shí)間為 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE table_name
MODIFY COLUMN UpdateTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘創(chuàng)建時(shí)間' ;
2、MySQL工具設(shè)置
MySQL自動(dòng)管理,保持和數(shù)據(jù)庫(kù)時(shí)間一致性。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- MySQL DATE_ADD和ADDDATE函數(shù)實(shí)現(xiàn)向日期添加指定時(shí)間間隔
- MySQL DATEDIFF函數(shù)獲取兩個(gè)日期的時(shí)間間隔的方法
- 一篇文章搞定Mysql日期時(shí)間函數(shù)
- MySQL日期函數(shù)與時(shí)間函數(shù)匯總(MySQL 5.X)
- MySQL獲得當(dāng)前日期時(shí)間函數(shù)示例詳解
- MySQL日期與時(shí)間函數(shù)的使用匯總