av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Mysql及Navicat中設(shè)置字段自動(dòng)填充當(dāng)前時(shí)間及修改時(shí)間實(shí)現(xiàn)

瀏覽:4日期:2023-06-16 19:39:11
目錄函數(shù)講解:支持的字段類(lèi)型:實(shí)現(xiàn)方式:創(chuàng)建表時(shí)設(shè)置字段為自動(dòng)更新時(shí)間列:添加新字段為自動(dòng)更新時(shí)間列:更新已有字段為自動(dòng)更新時(shí)間列:通過(guò)navicat設(shè)置字段為自動(dòng)更新時(shí)間列:總結(jié):

?該文章講解了創(chuàng)建時(shí)間及修改時(shí)間如何通過(guò)函數(shù)自動(dòng)填充,并演示了以下幾種方式實(shí)現(xiàn)列自動(dòng)填充創(chuàng)建時(shí)間及修改時(shí)間:

創(chuàng)建表時(shí)設(shè)置字段為自動(dòng)更新時(shí)間列。添加新字段為自動(dòng)更新時(shí)間列。更新已有字段為自動(dòng)更新時(shí)間列。通過(guò)navicat設(shè)置字段為自動(dòng)更新時(shí)間列。函數(shù)講解:

CURRENT_TIMESTAMP表示插入新行時(shí),該列將自動(dòng)設(shè)置為當(dāng)前時(shí)間,create_time設(shè)置了默認(rèn)值為CURRENT_TIMESTAMP后,插入新數(shù)據(jù)就會(huì)在create_time字段中自動(dòng)填充當(dāng)前時(shí)間。

ON UPDATE CURRENT_TIMESTAMP表示數(shù)據(jù)行更新時(shí),該列將自動(dòng)設(shè)置為當(dāng)前時(shí)間,update_time設(shè)置了數(shù)據(jù)更新后就會(huì)在update_time字段中自動(dòng)填充當(dāng)前時(shí)間。

注意:這兩個(gè)函數(shù)都可以傳參數(shù),傳參可以傳0-6的數(shù)字,表示時(shí)間的精度,比如 CURRENT_TIMESTAMP(3)表示精確到毫秒值,在設(shè)置時(shí)函數(shù)與字段的時(shí)間精度要保持一致,否則會(huì)報(bào)錯(cuò):ERROR 1067 (42000): Invalid default value for 'tmt'。

支持的字段類(lèi)型:

MySQL 5.6.5之后,TIMESTAMP和DATETIME列都支持自動(dòng)更新,且一個(gè)表可設(shè)置多個(gè)自動(dòng)更新列。

MySQL 5.6.5之前,只有TIMESTAMP支持自動(dòng)更新,每個(gè)表只能有一個(gè)自動(dòng)更新的時(shí)間列。

實(shí)現(xiàn)方式:創(chuàng)建表時(shí)設(shè)置字段為自動(dòng)更新時(shí)間列:CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT, data VARCHAR(255) NOT NULL, create_time datetime DEFAULT CURRENT_TIMESTAMP, update_time datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;添加新字段為自動(dòng)更新時(shí)間列:ALTER TABLE `table_name`ADD COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間';ADD COLUMN `update_time ` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間';更新已有字段為自動(dòng)更新時(shí)間列:ALTER TABLE `table_name`MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間';MODIFY COLUMN `update_time ` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間';通過(guò)navicat設(shè)置字段為自動(dòng)更新時(shí)間列:

選中列后在默認(rèn)值寫(xiě)上CURRENT_TIMESTAMP,默認(rèn)值下面的選項(xiàng)意思是當(dāng)前列是否要在數(shù)據(jù)行內(nèi)容更新時(shí)更新當(dāng)前列時(shí)間。

總結(jié):

好處: 無(wú)需依賴(lài)業(yè)務(wù)更新時(shí)間,所有的db操作都會(huì)自動(dòng)記錄,便于排查問(wèn)題。

不足: 數(shù)據(jù)庫(kù)服務(wù)器和業(yè)務(wù)服務(wù)器可能存在時(shí)間差,導(dǎo)致業(yè)務(wù)變動(dòng)的時(shí)間與數(shù)據(jù)庫(kù)時(shí)間戳存在差異,給實(shí)際維護(hù)和使用帶來(lái)障礙,只能盡可能的校準(zhǔn)服務(wù)器時(shí)間,但不能絕對(duì)避免該問(wèn)題。?

到此這篇關(guān)于Mysql及Navicat中設(shè)置字段自動(dòng)填充當(dāng)前時(shí)間及修改時(shí)間實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql自動(dòng)填充當(dāng)前時(shí)間內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 国产精品久久久久久妇女6080 | 在线视频一区二区三区 | 成人特级毛片 | 欧美黄色片视频 | av高清在线观看 | 日本欧美精品 | 九九九国产 | 日韩精品久久久 | 日本视频免费观看 | a免费视频 | 欧美一级在线视频 | 色噜噜狠狠一区二区三区果冻 | 福利片在线观看 | 天天噜| 国产精品777| 超碰人人在线 | 又色又爽又黄gif动态图 | 欧美精品一二三 | 国产午夜精品一区二区三区嫩草 | 午夜黄色影院 | 天天综合av | 依人久久 | 高h乱l高辣h文短篇h | 香蕉视频一区二区 | 精品国产91 | 特黄视频 | 欧美精品福利 | 一区二区三区在线免费 | 天天爽| 国产资源在线观看 | 国产做受视频 | aaa亚洲| 国产aⅴ爽av久久久久成人 | 亚洲91av| 成年人免费看视频 | 欧美日韩在线不卡 | 日韩在线免费视频 | 岛国免费av | 二色av | 在线观看一区 | 黄色片网站在线观看 |