国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

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

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

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

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

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

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

支持的字段類型:

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

MySQL 5.6.5之前,只有TIMESTAMP支持自動更新,每個表只能有一個自動更新的時間列。

實現(xiàn)方式:創(chuà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;添加新字段為自動更新時間列:ALTER TABLE `table_name`ADD COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間';ADD COLUMN `update_time ` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間';更新已有字段為自動更新時間列:ALTER TABLE `table_name`MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間';MODIFY COLUMN `update_time ` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間';通過navicat設(shè)置字段為自動更新時間列:

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

總結(jié):

好處: 無需依賴業(yè)務(wù)更新時間,所有的db操作都會自動記錄,便于排查問題。

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

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

標(biāo)簽: MySQL 數(shù)據(jù)庫
主站蜘蛛池模板: 阜新市| 白山市| 枝江市| 民乐县| 安西县| 汕尾市| 莲花县| 平山县| 平泉县| 巴里| 定边县| 威宁| 临武县| 兴义市| 旌德县| 天等县| 鹤山市| 囊谦县| 泰顺县| 庆城县| 丰县| 光山县| 精河县| 岳普湖县| 新巴尔虎左旗| 克什克腾旗| 中江县| 洪湖市| 赣榆县| 乳源| 洛扎县| 攀枝花市| 水城县| 尖扎县| 蒙山县| 青海省| 将乐县| 普宁市| 突泉县| 富顺县| 屯昌县|