国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql之TIMESTAMP(時間戳)用法詳解

2024-07-24 12:47:06
字體:
來源:轉載
供稿:網友

一、TIMESTAMP的變體

TIMESTAMP時間戳在創建的時候可以有多重不同的特性,如:

1.在創建新記錄和修改現有記錄的時候都對這個數據列刷新:

TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2.在創建新記錄的時候把這個字段設置為當前時間,但以后修改時,不再刷新它:

TIMESTAMP DEFAULT CURRENT_TIMESTAMP

3.在創建新記錄的時候把這個字段設置為0,以后修改時刷新它:

TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

4.在創建新記錄的時候把這個字段設置為給定值,以后修改時刷新它:

TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP

MySQL目前不支持列的Default 為函數的形式,如達到你某列的默認值為當前更新日期與時間的功能,你可以使用TIMESTAMP列類型,下面就詳細說明TIMESTAMP列類型
 
二、TIMESTAMP列類型

TIMESTAMP值可以從1970的某時的開始一直到2037年,精度為一秒,其值作為數字顯示。
TIMESTAMP值顯示尺寸的格式如下表所示:

+---------------+----------------+| 列類型    | 顯示格式    || TIMESTAMP(14) | YYYYMMDDHHMMSS | | TIMESTAMP(12) | YYMMDDHHMMSS  || TIMESTAMP(10) | YYMMDDHHMM   || TIMESTAMP(8) | YYYYMMDD    || TIMESTAMP(6) | YYMMDD     || TIMESTAMP(4) | YYMM      || TIMESTAMP(2) | YY       |+---------------+----------------+

“完整”TIMESTAMP格式是14位,但TIMESTAMP列也可以用更短的顯示尺寸,創造最常見的顯示尺寸是6、8、12、和14。
你可以在創建表時指定一個任意的顯示尺寸,但是定義列長為0或比14大均會被強制定義為列長14。
列長在從1~13范圍的奇數值尺寸均被強制為下一個更大的偶數。
 
列如:

定義字段長度   強制字段長度TIMESTAMP(0) -> TIMESTAMP(14)TIMESTAMP(15)-> TIMESTAMP(14)TIMESTAMP(1) -> TIMESTAMP(2)TIMESTAMP(5) -> TIMESTAMP(6)

所有的TIMESTAMP列都有同樣的存儲大小,使用被指定的時期時間值的完整精度(14位)存儲合法的值不考慮顯示尺寸。不合法的日期,將會被強制為0存儲

這有幾個含意:

1.雖然你建表時定義了列TIMESTAMP(8),但在你進行數據插入與更新時TIMESTAMP列實際上保存了14位的數據(包括年月日時分秒),只不過在你進行查詢時MySQL返回給你的是8位的年月日數據。如果你使用ALTER TABLE拓寬一個狹窄的TIMESTAMP列,以前被“隱蔽”的信息將被顯示。

2.同樣,縮小一個TIMESTAMP列不會導致信息失去,除了感覺上值在顯示時,較少的信息被顯示出。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 纳雍县| 仙桃市| 土默特左旗| 潢川县| 米易县| 裕民县| 临安市| 若尔盖县| 尚志市| 雅安市| 满城县| 金秀| 南涧| 六盘水市| 英吉沙县| 万载县| 昌邑市| 丹东市| 普定县| 讷河市| 洛川县| 上饶市| 陇南市| 盐池县| 浮山县| 吉安市| 山阳县| 澎湖县| 永嘉县| 临西县| 化德县| 林甸县| 盐亭县| 济阳县| 拜城县| 甘南县| 柳河县| 海口市| 宜章县| 南涧| 老河口市|