MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時(shí)才會(huì)更新記錄的時(shí)間
疑惑
今天看到一個(gè)博客說:時(shí)間戳有ON UPDATE CURRENT_TIMESTAMP屬性,無論值有沒有改變時(shí)間都會(huì)更新 (下面是別人博客的截圖)
表示疑惑,于是動(dòng)手建表寫字段驗(yàn)證了一波。
驗(yàn)證
1. 建表:
設(shè)置upd_time的類型為timestamp時(shí)間戳類型,并設(shè)置默認(rèn)值為DEFAULT CURRENT_TIMESTAMP,且設(shè)置ON UPDATE CURRENT_TIMESTAMP,記錄發(fā)生變化時(shí)也要更新該時(shí)間戳。
CREATE TABLE `t_temp` ( `id` int(11) NOT NULL DEFAULT '0', `username` varchar(255) DEFAULT NULL, `upd_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '默認(rèn)取當(dāng)前時(shí)間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
不想寫建表的sql的話,也可以用Navicat幫你建表,如圖,注意細(xì)節(jié):
2. 表建好了,隨便加條記錄,如圖:
PS:留意一下這條記錄的id 和 upd_time字段的值,待會(huì)我要更新這條記錄,注意看它們的變化
3. 更新這條id=1的記錄,設(shè)置username=‘mm’。
即,我雖然對這條記錄update了一波,但是并沒有改變?nèi)魏卫锩嫒魏我粋€(gè)字段的值
4. 最后,我們刷新一下數(shù)據(jù)表,看看時(shí)間戳有沒有發(fā)生變化:
可以看到時(shí)間戳并未改變
結(jié)論
設(shè)置字段屬性為時(shí)間戳類型,且把默認(rèn)值設(shè)置成CURRENT_TIMESTAMP的情況下。如果你設(shè)置了時(shí)間隨當(dāng)前時(shí)間戳更新( ON UPDATE CURRENT_TIMESTAMP),那么當(dāng)你更新字段時(shí),只有字段值發(fā)生變化了,你的時(shí)間字段才會(huì)變?yōu)閁PDATE操作時(shí)的時(shí)間
補(bǔ)充說明
如果只對字段設(shè)置默認(rèn)值取CURRENT_TIMESTAMP,而沒有設(shè)置隨當(dāng)前時(shí)間戳更新的話(就是建表時(shí)不勾選下圖中的玩意兒),只有記錄創(chuàng)建時(shí)會(huì)有時(shí)間戳,此后對記錄的更新操作都不會(huì)再改變該記錄的時(shí)間字段了
到此這篇關(guān)于MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時(shí)才會(huì)更新記錄的時(shí)間的文章就介紹到這了,更多相關(guān)MYSQL ON UPDATE CURRENT_TIMESTAMP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql詳細(xì)剖析數(shù)據(jù)庫中的存儲(chǔ)引擎
這篇文章詳細(xì)剖析了數(shù)據(jù)庫中的存儲(chǔ)引擎,存儲(chǔ)引擎是數(shù)據(jù)庫中非常關(guān)鍵的部分,有感興趣的小伙伴可以參考閱讀本文2023-03-03mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作
這篇文章主要介紹了mysql數(shù)據(jù)庫表增添字段,刪除字段,修改字段的排列等操作,修改表指的是修改數(shù)據(jù)庫之后中已經(jīng)存在的數(shù)據(jù)表的結(jié)構(gòu)2022-07-07mysql執(zhí)行語句后只有錯(cuò)誤代碼,沒有錯(cuò)誤信息的問題
這篇文章主要介紹了mysql執(zhí)行語句后只有錯(cuò)誤代碼,沒有錯(cuò)誤信息的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05MySQL閃回(flashback)原理與實(shí)戰(zhàn)
摘要: 本文將介紹閃回原理,給出筆者的實(shí)戰(zhàn)經(jīng)驗(yàn),并對現(xiàn)存的閃回工具作比較。這是目前為止,MySQL 閃回領(lǐng)域第一篇全面深入的實(shí)戰(zhàn)總結(jié)。2017-01-01MAC下MYSQL數(shù)據(jù)庫密碼忘記的解決辦法
這篇文章主要介紹了Mac操作系統(tǒng)下MYSQL數(shù)據(jù)庫密碼忘記的快速解決辦法,教大家重置MYSQ密碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11