例
1. MySQL 獲得當前時間戳函數:current_timestamp, current_timestamp()
代碼如下 復制代碼mysql> select current_timestamp, current_timestamp();
+---------------------+---------------------+
| current_timestamp | current_timestamp() |
+---------------------+---------------------+
| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |
+---------------------+---------------------+
例
MYSQL中TIMESTAMP類型可以設定默認值,就像其他類型一樣。
1、自動UPDATE 和INSERT 到當前的時間:
表:
———————————
Table Create Table
——————————————————————————————-
數據:
數據:
代碼如下 復制代碼 1 2007-10-08 11:53:352、自動INSERT 到當前時間,不過不自動UPDATE。
總結
1.第一次插入時記錄一次時間戳
2.每次更新都更新時間戳
3.只記錄簡要時間,比如Date
如果是第一種和第二種情況,使用timestamp相比datetime要更為方便些。timestamp默認值有三種:
■無
■NULL
■NOT NULL DEFAULT CURRENT_TIMESTAMP
■NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
其中,
■CURRENT_TIMESTAMP - 當更新此條記錄時,時間戳不會改變
■CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - 當更新此條記錄時,時間戳將會改變,變為最新時間
設置CURRENT_TIMESTAMP默認值後,插入記錄還是更新記錄都不需要維護該字段,該字段完全由MySQL維護,就像AutoIncrement字段一樣,但如果使用上文設置的datetime字段,則需要手動構造時間更新,比如類似now()等。
對CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有個特殊情況,假如你更新的字段值(UPDATE)沒有變化時,MySQL將會忽略更新操作,所以,時間戳也不會改變。另外,如果有多個CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那麼MySQL只會更新第一個。