mysql設(shè)置update時(shí)間字段自動(dòng)更新的實(shí)現(xiàn)
之前在給網(wǎng)站做表設(shè)計(jì)的時(shí)候時(shí)間字段都是用的datetime類型,初始值都是設(shè)置的CURRENT_TIMESTAMP。
由于給文章表設(shè)計(jì)的有創(chuàng)建時(shí)間和更新時(shí)間兩個(gè)字段,但是更新時(shí)間字段需要在更新文章后再次更新,當(dāng)時(shí)由于不了解mysql還可以設(shè)置自動(dòng)更新時(shí)間戳的功能,而是在更新文章的接口中手動(dòng)更新時(shí)間字段,即以下這種方式:
update pages set update_date=now()
由于最近考慮給一些編輯功能增加更新時(shí)間字段,了解到Mysql 本身已經(jīng)支持這個(gè)功能了,所以嘗試采用新的方式來實(shí)現(xiàn)update_date自動(dòng)更新。
可以通過sql語句跟頁面配置來實(shí)現(xiàn),當(dāng)然頁面配置本質(zhì)上也是通過sql實(shí)現(xiàn)的。
sql語句核心的語句為
ON UPDATE CURRENT_TIMESTAMP
所有可以將通過執(zhí)行以下語句來實(shí)現(xiàn)時(shí)間字段自動(dòng)更新功能:
# 若該字段不存在 ALTER TABLE `dsiab_com` ADD `update_date` DATETIME on update CURRENT_TIMESTAMP NOT NULL; # 若該字段已存在 ALTER TABLE `dsiab_com` CHANGE `update_date` `update_date` DATETIME on update CURRENT_TIMESTAMP NULL DEFAULT NULL;
上面的語句主要都是在update_date字段上新增on update CURRENT_TIMESTAMP 屬性從而達(dá)到自動(dòng)更新功能。
如果你是用的phpmyadmin來管理數(shù)據(jù)的話那么可以通過以下方式實(shí)現(xiàn)自動(dòng)時(shí)間更新功能,當(dāng)然這種方式本質(zhì)上還是通過上面的方式,只是這種不需要需執(zhí)行代碼,只需要通過鼠標(biāo)就可以完成。

通過這一點(diǎn)了解到數(shù)據(jù)庫還是有需要需要繼續(xù)學(xué)習(xí)的地方,一個(gè)好的開發(fā)人員必然需要對(duì)數(shù)據(jù)庫熟練掌握,你能看到的內(nèi)容最終都來源于數(shù)據(jù)庫,從數(shù)據(jù)庫怎么拿是開發(fā)人員關(guān)心的問題,更重要的是怎么設(shè)計(jì)一張合理存儲(chǔ)數(shù)據(jù)的表,讓數(shù)據(jù)的獲取更簡(jiǎn)單高效,這才是一個(gè)開發(fā)人員追求的目標(biāo)。
到此這篇關(guān)于mysql設(shè)置update時(shí)間字段自動(dòng)更新的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql update時(shí)間自動(dòng)更新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- java實(shí)現(xiàn)mysql自動(dòng)更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式
- MySQL修改時(shí)間添加時(shí)間自動(dòng)更新的兩種方法
- mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式
- MySQL中create_time和update_time實(shí)現(xiàn)自動(dòng)更新時(shí)間
- MySQL8設(shè)置自動(dòng)創(chuàng)建時(shí)間和自動(dòng)更新時(shí)間的實(shí)現(xiàn)方法
- MySQL中創(chuàng)建時(shí)間和更新時(shí)間的自動(dòng)更新的實(shí)現(xiàn)示例
- mysql 實(shí)現(xiàn)添加時(shí)間自動(dòng)添加更新時(shí)間自動(dòng)更新操作
- MySQL timestamp自動(dòng)更新時(shí)間分享
相關(guān)文章
MySQL實(shí)現(xiàn)崩潰恢復(fù)的幾種方法
MySQL 使用一系列日志和恢復(fù)機(jī)制來實(shí)現(xiàn)崩潰恢復(fù),確保數(shù)據(jù)庫在發(fā)生崩潰后可以恢復(fù)到一致的狀態(tài),主要依賴的日志包括 Redo Log、Undo Log 和 Binary Log,下面就來詳細(xì)的介紹一下2025-08-08
vs如何讀取mysql中的數(shù)據(jù)并解決中文亂碼問題
這篇文章主要介紹了vs如何讀取mysql中的數(shù)據(jù)并解決中文亂碼問題,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
MySQL 8.0找不到 my.ini 配置文件(并開啟 Binlog 
本文主要介紹了MySQL 8.0找不到 my.ini 配置文件(并開啟 Binlog 監(jiān)聽),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-06-06
通過mysql show processlist 命令檢查mysql鎖的方法
show processlist 命令非常實(shí)用,有時(shí)候mysql經(jīng)常跑到50%以上或更多,就需要用這個(gè)命令看哪個(gè)sql語句占用資源比較多,就知道哪個(gè)網(wǎng)站的程序問題了。2010-03-03
關(guān)于MySQL Memory存儲(chǔ)引擎的相關(guān)知識(shí)
這篇文章主要介紹了關(guān)于MySQL Memory存儲(chǔ)引擎的相關(guān)知識(shí),幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-11-11
mysql啟動(dòng)報(bào)錯(cuò)Failed?to?start?LSB:start?and?stop?MySQL的問題解決
本文主要介紹了mysql啟動(dòng)報(bào)錯(cuò)Failed?to?start?LSB:start?and?stop?MySQL的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10

