Mysql中時間戳自動更新

Mysql時間戳字段更新

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

轉自[http://www.javashuo.com/article/p-drkrmjkq-be.html]mysql

1.概述

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

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.實驗結果

相關文章
相關標籤/搜索