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ā)人員必然需要對數(shù)據(jù)庫熟練掌握,你能看到的內(nèi)容最終都來源于數(shù)據(jù)庫,從數(shù)據(jù)庫怎么拿是開發(fā)人員關(guān)心的問題,更重要的是怎么設(shè)計(jì)一張合理存儲數(shù)據(jù)的表,讓數(shù)據(jù)的獲取更簡單高效,這才是一個(gè)開發(fā)人員追求的目標(biāo)。
到此這篇關(guān)于mysql設(shè)置update時(shí)間字段自動(dòng)更新的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql update時(shí)間自動(dòng)更新內(nèi)容請搜索腳本之家以前的文章或繼續(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并發(fā)更新數(shù)據(jù)時(shí)的處理方法
在后端開發(fā)中我們不可避免的會(huì)遇見MySQL數(shù)據(jù)并發(fā)更新的情況,作為一名后端研發(fā),如何解決這類問題也是必須要知道的,同時(shí)這也是面試中經(jīng)??疾斓闹R點(diǎn)。2019-05-05
解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘roo
最近在我們連接數(shù)據(jù)庫的時(shí)候遇到個(gè)問題,感覺還挺容易遇到的,所以總結(jié)下,這篇文章主要給大家介紹了關(guān)于解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?NO)的方法,需要的朋友可以參考下2022-06-06
MYSQL必知必會(huì)讀書筆記 第一章(基礎(chǔ))
數(shù)據(jù)庫(database)是一個(gè)以某種有組織的方式存儲的數(shù)據(jù)集合。本文是小編日常收集整理些有關(guān)mysql的知識,非常具有參考價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例
本文主要介紹了MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
jdbc調(diào)用mysql存儲過程實(shí)現(xiàn)代碼
接下來將介紹下mysql存儲過程的創(chuàng)建及調(diào)用,調(diào)用時(shí)涉及到j(luò)dbc的知識,不熟悉的朋友還要溫習(xí)下jdbc哦,話不多說看代碼,希望可以幫助到你2013-03-03
MySql數(shù)據(jù)庫之a(chǎn)lter表的SQL語句集合
mysql之a(chǎn)lter表的SQL語句集合,包括增加、修改、刪除字段,重命名表,添加、刪除主鍵等。本文給大家介紹MySql數(shù)據(jù)庫之a(chǎn)lter表的SQL語句集合,感興趣的朋友一起學(xué)習(xí)吧2016-04-04
MySQL中distinct語句去查詢重復(fù)記錄及相關(guān)的性能討論
這篇文章主要介紹了MySQL中distinct語句去查詢重復(fù)記錄及相關(guān)的性能討論,文中的觀點(diǎn)是在一定情況下避免在最高層查詢中使用distinct,需要的朋友可以參考下2016-01-01

