欧美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類(lèi)型的使用

示例如下:

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

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類(lèi)型為current_timestamp時(shí),系統(tǒng)會(huì)自動(dòng)獲取當(dāng)前修改或者創(chuàng)建時(shí)間,但是不糊自動(dòng)維護(hù)。

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

如何讓timestamp類(lèi)型自動(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í)間的話(huà),初始值為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)文章

  • Navicat如何通過(guò)ssh連接mysql

    Navicat如何通過(guò)ssh連接mysql

    文章介紹了通過(guò)SSH連接MySQL數(shù)據(jù)庫(kù)的方法,強(qiáng)調(diào)了確保MySQL默認(rèn)端口3306沒(méi)有被防火墻阻攔,以及在Ubuntu系統(tǒng)中默認(rèn)root的SSH是禁止的,應(yīng)使用其他賬戶(hù)登錄
    2025-02-02
  • MySQL8.0.20壓縮版本安裝教程圖文詳解

    MySQL8.0.20壓縮版本安裝教程圖文詳解

    這篇文章主要介紹了MySQL8.0.20壓縮版本安裝教程,需本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,要的朋友可以參考下
    2020-08-08
  • mysql5.5中文亂碼問(wèn)題解決的有用方法

    mysql5.5中文亂碼問(wèn)題解決的有用方法

    在使用MYSQL時(shí)遇到中文亂碼的問(wèn)題,表現(xiàn)為插入數(shù)據(jù)后查詢(xún)時(shí)輸出為??(亂碼),下面這篇文章主要給大家介紹了關(guān)于mysql5.5中文亂碼問(wèn)題解決的有用方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • mysql函數(shù)group_concat()返回結(jié)果不全問(wèn)題

    mysql函數(shù)group_concat()返回結(jié)果不全問(wèn)題

    文章介紹了MySQL中使用group_concat()函數(shù)拼接返回字段時(shí)遇到的字符長(zhǎng)度問(wèn)題,分析了問(wèn)題原因,并提供了兩種解決方法:臨時(shí)修改group_concat_max_len配置和永久修改MySQL配置文件
    2024-11-11
  • mysql?sum(if())和count(if())的用法說(shuō)明

    mysql?sum(if())和count(if())的用法說(shuō)明

    這篇文章主要介紹了mysql?sum(if())和count(if())的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • mysql字符集和數(shù)據(jù)庫(kù)引擎修改方法分享

    mysql字符集和數(shù)據(jù)庫(kù)引擎修改方法分享

    使用虛擬主機(jī)空間上的phpmyadmin操作數(shù)據(jù)庫(kù)的時(shí)候,如果看到phpmyadmin首頁(yè)上顯示的MySQL 字符集為cp1252 West European (latin1),當(dāng)我們導(dǎo)入數(shù)據(jù)時(shí)就會(huì)出現(xiàn)亂碼
    2012-02-02
  • MySQL學(xué)習(xí)之三大范式詳解小白篇

    MySQL學(xué)習(xí)之三大范式詳解小白篇

    本篇文章為大家介紹了MYSQL數(shù)據(jù)庫(kù)學(xué)習(xí)中三大范式的規(guī)則詳解,有需要的朋友可以借鑒參考下,希望可以對(duì)大家的數(shù)據(jù)庫(kù)學(xué)習(xí)有所幫助
    2021-09-09
  • MYSQL多表聯(lián)查on和where的區(qū)別小結(jié)

    MYSQL多表聯(lián)查on和where的區(qū)別小結(jié)

    在使用left join時(shí)過(guò)濾條件放到on后面還是where后面是有區(qū)別的,如果沒(méi)有搞清楚他們的區(qū)別,連表匯總的結(jié)果就會(huì)變少或者變多,本文就來(lái)詳細(xì)介紹一下兩者的區(qū)別,感興趣的可以了解一下
    2023-11-11
  • 深入分析Mysql中l(wèi)imit的用法

    深入分析Mysql中l(wèi)imit的用法

    很久沒(méi)用mysql的limit,一時(shí)大意竟然用錯(cuò)了,自認(rèn)為(limit 開(kāi)始,結(jié)束),其實(shí)錯(cuò)了,正確的應(yīng)該是(limit 偏移量,條數(shù)),為了記住這次錯(cuò)誤,轉(zhuǎn)載一篇limit用法詳解。推薦給大家,希望對(duì)大家能夠有所幫助。
    2015-03-03
  • 安裝Mysql時(shí)出現(xiàn)錯(cuò)誤及解決辦法

    安裝Mysql時(shí)出現(xiàn)錯(cuò)誤及解決辦法

    因?yàn)橐粫r(shí)手癢癢更新了一下驅(qū)動(dòng),結(jié)果導(dǎo)致無(wú)線(xiàn)網(wǎng)卡出了問(wèn)題,本文給大家分享安裝mysql時(shí)出現(xiàn)錯(cuò)誤及解決辦法,對(duì)安裝mysql時(shí)出現(xiàn)錯(cuò)誤相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12

最新評(píng)論