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

MYSQL ON UPDATE CURRENT_TIMESTAMP當字段值發(fā)生改變時才會更新記錄的時間

 更新時間:2023年01月05日 09:09:23   作者:你這個無聊的小demo  
本文主要介紹了MYSQL ON UPDATE CURRENT_TIMESTAMP當字段值發(fā)生改變時才會更新記錄的時間,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

疑惑

今天看到一個博客說:時間戳有ON UPDATE CURRENT_TIMESTAMP屬性,無論值有沒有改變時間都會更新 (下面是別人博客的截圖)

在這里插入圖片描述

表示疑惑,于是動手建表寫字段驗證了一波。

驗證

1. 建表:

設(shè)置upd_time的類型為timestamp時間戳類型,并設(shè)置默認值為DEFAULT CURRENT_TIMESTAMP,且設(shè)置ON UPDATE CURRENT_TIMESTAMP,記錄發(fā)生變化時也要更新該時間戳。

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 '默認取當前時間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


不想寫建表的sql的話,也可以用Navicat幫你建表,如圖,注意細節(jié):

在這里插入圖片描述

2. 表建好了,隨便加條記錄,如圖:

PS:留意一下這條記錄的id 和 upd_time字段的值,待會我要更新這條記錄,注意看它們的變化

在這里插入圖片描述

3. 更新這條id=1的記錄,設(shè)置username=‘mm’。

即,我雖然對這條記錄update了一波,但是并沒有改變?nèi)魏卫锩嫒魏我粋€字段的值

在這里插入圖片描述

4. 最后,我們刷新一下數(shù)據(jù)表,看看時間戳有沒有發(fā)生變化:

可以看到時間戳并未改變

在這里插入圖片描述

結(jié)論

設(shè)置字段屬性為時間戳類型,且把默認值設(shè)置成CURRENT_TIMESTAMP的情況下。如果你設(shè)置了時間隨當前時間戳更新( ON UPDATE CURRENT_TIMESTAMP),那么當你更新字段時,只有字段值發(fā)生變化了,你的時間字段才會變?yōu)閁PDATE操作時的時間

補充說明

如果只對字段設(shè)置默認值取CURRENT_TIMESTAMP,而沒有設(shè)置隨當前時間戳更新的話(就是建表時不勾選下圖中的玩意兒),只有記錄創(chuàng)建時會有時間戳,此后對記錄的更新操作都不會再改變該記錄的時間字段了

在這里插入圖片描述

 到此這篇關(guān)于MYSQL ON UPDATE CURRENT_TIMESTAMP當字段值發(fā)生改變時才會更新記錄的時間的文章就介紹到這了,更多相關(guān)MYSQL ON UPDATE CURRENT_TIMESTAMP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論