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

mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式

 更新時(shí)間:2023年07月24日 09:58:21   作者:ITzhongzi  
這篇文章主要介紹了mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求描述:現(xiàn)需要數(shù)據(jù)庫(kù)中一個(gè)字段來(lái)記錄當(dāng)前記錄的最近修改時(shí)間或者創(chuàng)建時(shí)間,并自動(dòng)更新維護(hù)。

timestamp類型的使用

示例如下:

創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),并指定 uptime為 timestamp類型

create  table test(
	tid int primary key auto_increment,
	uptime timestamp,
	hobby varchar(20)
);

插入一條數(shù)據(jù)

insert into test (tid,uptime,hobby) values(null,null,null);

查看數(shù)據(jù)庫(kù)數(shù)據(jù)

在這里插入圖片描述

我們看到數(shù)據(jù)插入成功,但是uptime字段顯示為 null。

我們?cè)俨迦胍粭l數(shù)據(jù),如下:

insert into test (tid,uptime,hobby) values(null,current_timestamp,null);

查看數(shù)據(jù)庫(kù)數(shù)據(jù)如下:

在這里插入圖片描述

我們看到第二條數(shù)據(jù)插入成功了,并且時(shí)間為 當(dāng)前插入的時(shí)間

下面我們更新一下字段看 時(shí)間是否會(huì)自動(dòng)維護(hù)

update test set hobby='籃球'  where tid < 4;

我們看效果

在這里插入圖片描述

時(shí)間并沒(méi)有自動(dòng)更新,還是我們插入的時(shí)間,并不是修改的時(shí)間。

我們首先手動(dòng)更新一下時(shí)間:

update test set uptime = current_timestamp where tid < 10;

效果如圖:

在這里插入圖片描述

當(dāng)我們?cè)O(shè)置timestamp類型為current_timestamp時(shí),系統(tǒng)會(huì)自動(dòng)獲取當(dāng)前修改或者創(chuàng)建時(shí)間,但是不糊自動(dòng)維護(hù)。

那么問(wèn)題來(lái)了?

如何讓timestamp類型自動(dòng)維護(hù)

1.我們重新傳建一個(gè)是數(shù)據(jù)庫(kù)

create table test2(
	pid int primary key  auto_increment,
	uptime timestamp null default current_timestamp on update current_timestamp,
	hobby varchar(30)
);

2.我們先看一下創(chuàng)建后的表結(jié)構(gòu):

show create table test2;

在這里插入圖片描述

我們注意一下 uptime 字段,可以為空,默認(rèn)時(shí)間為current_timestamp, on update curret_timestamp設(shè)置可以使記錄發(fā)生改變的時(shí)候時(shí)間自動(dòng)改變。

插入一條沒(méi)有默認(rèn)時(shí)間的數(shù)據(jù)數(shù)據(jù)

insert into test2 values(null,null,null);

查看表結(jié)構(gòu)

在這里插入圖片描述

我們可以看到當(dāng)我們沒(méi)有設(shè)置默認(rèn)值的時(shí)候時(shí)間默認(rèn)為null

我們?cè)俨迦胍粭l帶默認(rèn)時(shí)間的數(shù)據(jù)

insert into test2 values(null,current_timestamp,null);

如圖:

在這里插入圖片描述

我們可以看到 有兩條數(shù)據(jù),一條有默認(rèn)時(shí)間一條沒(méi)有。

下面我們修改一下 兩條記錄,看時(shí)間是否會(huì)自動(dòng)維護(hù)

update test2 set hobby='籃球' where pid < 5;

大功告成~

在這里插入圖片描述

我們可以看到時(shí)間字段 在 自動(dòng)維護(hù),之前默認(rèn)值為空的時(shí)候,在修改記錄之后也會(huì)自動(dòng)將時(shí)間改為 修改時(shí)間。

最后的完善

我們已經(jīng)可以做到 時(shí)間自動(dòng)維護(hù)了,還有一個(gè) 小缺點(diǎn),

就是在剛開(kāi)始插入時(shí)間時(shí),我們沒(méi)有傳入默認(rèn)時(shí)間的話,初始值為null,只有我們修改這條記錄的時(shí)候他才會(huì)自動(dòng)記錄時(shí)間。

完善方案:

在創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候設(shè)置 uptime字段為 not null

create table test3(pid int primary key auto_increment,uptime timestamp not null default current_timestamp on update current_timestamp);

表結(jié)構(gòu)如下:

在這里插入圖片描述

這樣我們就會(huì)在創(chuàng)建該記錄時(shí)候強(qiáng)制傳入一個(gè)時(shí)間,并在修改的時(shí)候自動(dòng)維護(hù)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL INNER JOIN 的底層實(shí)現(xiàn)原理分析

    MySQL INNER JOIN 的底層實(shí)現(xiàn)原理分析

    這篇文章主要介紹了MySQL INNER JOIN 的底層實(shí)現(xiàn)原理,INNER JOIN的工作分為篩選和連接兩個(gè)步驟,連接時(shí)可以使用多種算法,通過(guò)本文,我們深入了解了MySQL中INNER JOIN的底層實(shí)現(xiàn)原理,需要的朋友可以參考下
    2023-06-06
  • 在linux服務(wù)器上配置mysql并開(kāi)放3306端口的操作步驟

    在linux服務(wù)器上配置mysql并開(kāi)放3306端口的操作步驟

    這篇文章主要介紹了在linux服務(wù)器上配置mysql并開(kāi)放3306端口,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Window10下安裝 mysql5.7圖文教程(解壓版)

    Window10下安裝 mysql5.7圖文教程(解壓版)

    這篇文章主要介紹了Window10下安裝 mysql5.7圖文教程(解壓版),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2016-08-08
  • Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語(yǔ)句

    Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語(yǔ)句

    這篇文章主要介紹了Mysql保持現(xiàn)有內(nèi)容在后面增加內(nèi)容的sql語(yǔ)句,需要的朋友可以參考下
    2017-05-05
  • mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本)

    mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本)

    這篇文章主要介紹了mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本),文章通過(guò)代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • mysql 5.7.11 winx64初始密碼修改

    mysql 5.7.11 winx64初始密碼修改

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.11 winx64初始密碼修改的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • MySQL慢查詢工具的使用小結(jié)

    MySQL慢查詢工具的使用小結(jié)

    使用MySQL的慢查詢工具可以幫助開(kāi)發(fā)者識(shí)別和優(yōu)化性能不佳的SQL查詢,本文就來(lái)介紹一下MySQL的慢查詢工具,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-08-08
  • MySQL的主從復(fù)制步驟詳解及常見(jiàn)錯(cuò)誤解決方法

    MySQL的主從復(fù)制步驟詳解及常見(jiàn)錯(cuò)誤解決方法

    這篇文章主要介紹了MySQL的主從復(fù)制步驟詳解及常見(jiàn)錯(cuò)誤解決方法,文中主張同步時(shí)跳過(guò)臨時(shí)錯(cuò)誤,并對(duì)Slave_IO_Running: No錯(cuò)誤的解決給出了方案,需要的朋友可以參考下
    2016-02-02
  • mysql 字段as詳解及實(shí)例代碼

    mysql 字段as詳解及實(shí)例代碼

    這篇文章主要介紹了mysql 字段as詳解,并附實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • MySQL全量備份的實(shí)現(xiàn)

    MySQL全量備份的實(shí)現(xiàn)

    全量備份是MySQL數(shù)據(jù)庫(kù)備份的常見(jiàn)方式,本文主要介紹了MySQL全量備份的實(shí)現(xiàn),全量備份和增量備份是 MySQL 數(shù)據(jù)庫(kù)備份的兩種常見(jiàn)方式
    2024-04-04

最新評(píng)論