Mysql中時間戳自動更新


Mysql時間戳字段更新

TimeStamp是Mysql中的時間戳字段,這個字段可以支持自動添加和更新。

轉自[https://www.cnblogs.com/zhaoyanghoo/p/5581710.html]

1.概述

在我們設計表的時候,考慮將行數據的創建時間和最后更新時間記錄下來是很好的實踐。尤其是可能需要做數據同步或者對數據新鮮度有要求的表。舉些應用場景,更新距上次更新超過2小時的行數據,或者是將一個月前的訂單數據歸檔等等。我們想把這個的需求丟給數據庫服務器管理,而不是在應用程序中對每一條語句設置創建時間和最后更新時間字段。在mysql中,這實現起來很容易。我們需要借助於DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP

2.簡單示例

創建測試表

CREATE TABLE `timestampTest` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

檢測默認值,插入測試數據

INSERT INTO timestampTest (name) VALUES ('aa'),('bb'),('cc');

檢測自動更新,更新某條數據

UPDATE timestampTest SET name = 'ab' WHERE id = 1;

3.實驗結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM