mysql current_MySQL中CURRENT_TIMESTAMP数据类型详解
例
1. MySQL 獲得當前時間戳函數(shù):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
——————————————————————————————-
代碼如下
t1????? CREATE TABLE `t1` (
`p_c` int(11) NOT NULL,
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
數(shù)據(jù):
代碼如下
1??? 2007-10-08 11:53:35
2??? 2007-10-08 11:54:00
insert into t1(p_c) select 3;
update t1 set p_c = 2 where p_c = 5;
數(shù)據(jù):
代碼如下
1??? 2007-10-08 11:53:35
5??? 2007-10-08 12:00:37
3??? 2007-10-08 12:00:37
2、自動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 - 當更新此條記錄時,時間戳將會改變,變?yōu)樽钚聲r間
設置CURRENT_TIMESTAMP默認值后,插入記錄還是更新記錄都不需要維護該字段,該字段完全由MySQL維護,就像AutoIncrement字段一樣,但如果使用上文設置的datetime字段,則需要手動構造時間更新,比如類似now()等。
對CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有個特殊情況,假如你更新的字段值(UPDATE)沒有變化時,MySQL將會忽略更新操作,所以,時間戳也不會改變。另外,如果有多個CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只會更新第一個。
總結
以上是生活随笔為你收集整理的mysql current_MySQL中CURRENT_TIMESTAMP数据类型详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我国人均月流量高达15.57GB!西藏2
- 下一篇: 首款可定制的骁龙8+旗舰 三星Galax