欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2023年07月13日 09:29:24   作者:TangBoBoa  
這篇文章主要給大家介紹了關(guān)于Mysql及Navicat中設(shè)置字段自動填充當(dāng)前時(shí)間及修改時(shí)間實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

  • 創(chuàng)建表時(shí)設(shè)置字段為自動更新時(shí)間列。
  • 添加新字段為自動更新時(shí)間列。
  • 更新已有字段為自動更新時(shí)間列。
  • 通過navicat設(shè)置字段為自動更新時(shí)間列。

函數(shù)講解:

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

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

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

支持的字段類型:

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

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

實(shí)現(xiàn)方式:

創(chuàng)建表時(shí)設(shè)置字段為自動更新時(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;

添加新字段為自動更新時(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í)間';

更新已有字段為自動更新時(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í)間';

通過navicat設(shè)置字段為自動更新時(shí)間列:

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

總結(jié):

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

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

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

相關(guān)文章

  • Mysql中SUM()函數(shù)使用方法

    Mysql中SUM()函數(shù)使用方法

    這篇文章主要給大家介紹了關(guān)于Mysql中SUM()函數(shù)使用的相關(guān)資料,MySQL 的 SUM 函數(shù)可以用來對某個(gè)列進(jìn)行求和,但是如果你想要按照某個(gè)條件進(jìn)行求和,可以使用帶有WHERE子句的SUM函數(shù),需要的朋友可以參考下
    2023-08-08
  • Mysql中的sql優(yōu)化實(shí)踐詳解

    Mysql中的sql優(yōu)化實(shí)踐詳解

    這篇文章主要介紹了Mysql中的sql優(yōu)化實(shí)踐詳解,SQL優(yōu)化是指通過改進(jìn)SQL語句的編寫和查詢計(jì)劃的設(shè)計(jì)來提高數(shù)據(jù)庫查詢性能的過程,在優(yōu)化SQL時(shí),可以采取一些措施來提升查詢性能,需要的朋友可以參考下
    2023-09-09
  • 如何用word vb宏來生成sql

    如何用word vb宏來生成sql

    本篇文章是對利用word vb宏來生成sql的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL中CURRENT_TIMESTAMP的使用方式

    MySQL中CURRENT_TIMESTAMP的使用方式

    這篇文章主要介紹了MySQL中CURRENT_TIMESTAMP的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 一文帶你探究MySQL中的NULL

    一文帶你探究MySQL中的NULL

    我們在日常工作中如果要接觸Mysql數(shù)據(jù)庫,那么不可避免會遇到Mysql中,下面這篇文章主要給大家介紹了關(guān)于MySQL中NULL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • MySQL復(fù)合索引的深入探究

    MySQL復(fù)合索引的深入探究

    這篇文章主要給大家介紹了關(guān)于MySQL復(fù)合索引的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • MYSQL突破secure_file_priv寫shell問題

    MYSQL突破secure_file_priv寫shell問題

    這篇文章主要介紹了MYSQL突破secure_file_priv寫shell問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL GRANT用戶授權(quán)的實(shí)現(xiàn)

    MySQL GRANT用戶授權(quán)的實(shí)現(xiàn)

    授權(quán)就是為某個(gè)用戶賦予某些權(quán)限。MySQL 提供了 GRANT 語句來為用戶設(shè)置權(quán)限。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 大幅優(yōu)化MySQL查詢性能的奇技淫巧

    大幅優(yōu)化MySQL查詢性能的奇技淫巧

    這篇文章主要介紹了大幅優(yōu)化MySQL查詢性能的方法,作者根據(jù)實(shí)際運(yùn)行時(shí)間比對分析了InnoDB等幾個(gè)重要的MySQL性能優(yōu)化點(diǎn),極力推薦!需要的朋友可以參考下
    2015-06-06
  • Mysql雙主搭建的方法步驟

    Mysql雙主搭建的方法步驟

    本文主要介紹了Mysql雙主搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論