最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL timestamp的類型與時區(qū)實例詳解

 更新時間:2016年11月24日 16:07:55   投稿:lqh  
這篇文章主要介紹了 MySQL timestamp的類型與時區(qū)實例詳解的相關資料,需要的朋友可以參考下

 MySQL timestamp的類型與時區(qū)

MySQL的timestamp類型時間范圍between '1970-01-01 00:00:01' and '2038-01-19 03:14:07',超出這個范圍則值記錄為'0000-00-00 00:00:00',該類型的一個重要特點就是保存的時間與時區(qū)密切相關,上述所說的時間范圍是UTC(Universal Time Coordinated)標準,指的是經(jīng)度0度上的標準時間,我國日常生活中時區(qū)以首都北京所處的東半球第8區(qū)為基準,統(tǒng)一使用東8區(qū)時間(俗稱北京時間),比UTC要早8個小時,服務器的時區(qū)設置也遵照此標準,因此對應過來timestamp的時間范圍則應校準為'1970-01-01 08:00:01' and '2038-01-19 11:14:07',也就是說東八區(qū)的1970-1-1 08:00:01等同于UTC 1970-1-1 00:00:01。

需要特點注意,timestamp類型的時間不僅僅與寫入記錄時的時區(qū)有關,顯示時也與時區(qū)有關,例如:

mysql> desc j1_dt;
+-------+-----------+------+-----+-------------------+-------+
| Field | Type   | Null | Key | Default      | Extra |
+-------+-----------+------+-----+-------------------+-------+
| dt  | timestamp | NO  |   | CURRENT_TIMESTAMP |    | 
+-------+-----------+------+-----+-------------------+-------+
1 row in set (0.00 sec)
mysql> insert into j1_dt values ('1970-01-01 08:00:01');
Query OK, 1 row affected (0.00 sec)
mysql> select * from j1_dt;
+---------------------+
| dt         |
+---------------------+
| 1970-01-01 08:00:01 | 
+---------------------+
1 row in set (0.00 sec)
mysql> set time_zone='+0:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from j1_dt;
+---------------------+
| dt         |
+---------------------+
| 1970-01-01 00:00:01 | 
+---------------------+
1 row in set (0.00 sec)
mysql> set time_zone='+1:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from j1_dt;
+---------------------+
| dt         |
+---------------------+
| 1970-01-01 01:00:01 | 
+---------------------+
1 row in set (0.00 sec)

如上述所示,根據(jù)時區(qū)的不同,顯示的日期也是不一樣的,這正是timestamp類型在MySQL日期類型中獨有的時區(qū)特點。

如果向timestamp類型列插入的值超出了指定范圍,則實際實際保存的值為'0000-00-00 00:00:00',并觸發(fā)一個警告信息:

mysql> set time_zone='+8:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select * from j1_dt;
+---------------------+
| dt         |
+---------------------+
| 1970-01-01 08:00:01 | 
+---------------------+
1 row in set (0.00 sec)
mysql> insert into j1_dt values ('1970-01-01 00:00:01');
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+------------------------------------------------------+
| Level  | Code | Message                       |
+---------+------+------------------------------------------------------+
| Warning | 1264 | Out of range value adjusted for column 'dt' at row 1 | 
+---------+------+------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from j1_dt;
+---------------------+
| dt         |
+---------------------+
| 1970-01-01 08:00:01 | 
| 0000-00-00 00:00:00 | 
+---------------------+
2 rows in set (0.00 sec)

觸發(fā)的警告信息在MySQL層面僅是個警告而并非錯誤,前端應用的try catch捕獲不到,不過,由于實際寫入的數(shù)據(jù)并非期望值,還是有可能埋下一些隱患,這些隱患一旦顯露,就有可能觸發(fā)前端應用出現(xiàn)異常。

  對于timestamp類型,在實際應用中務必理解時區(qū)的概念,在設置timestamp列默認值,及實際賦值時務必明確寫入的值實際保存時的狀態(tài),盡量避免埋入隱患。對于現(xiàn)有已經(jīng)出錯的記錄,可以考慮通過批量UPDATE及修改表結構的方式予以處理。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • MySql新手入門的基本操作匯總

    MySql新手入門的基本操作匯總

    MySQL是目前來說最好的 RDBMS應用軟件之一,這篇文章主要給大家介紹了關于MySql基本操作的相關資料,非常適合mysql新手入門,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • MySQL性能之count* count1 count列對比示例

    MySQL性能之count* count1 count列對比示例

    這篇文章主要為大家介紹了MySQL性能之count* count1 count列對比示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • MySQL命令行刪除表中的一個字段

    MySQL命令行刪除表中的一個字段

    本文介紹在MySQL數(shù)據(jù)庫中,如何根據(jù)字段名來刪除表中的一個字段,需要的朋友可以參考下
    2016-04-04
  • MySQL常見優(yōu)化方案匯總

    MySQL常見優(yōu)化方案匯總

    mysql數(shù)據(jù)庫是中小微企業(yè)常用的一種數(shù)據(jù)化管理工具,它具有輕便,簡潔,免費等特點。今天通過本文給大家介紹MySQL常見優(yōu)化方案匯總,感興趣的朋友一起看看吧
    2022-01-01
  • MySQL數(shù)據(jù)讀寫分離MaxScale相關配置

    MySQL數(shù)據(jù)讀寫分離MaxScale相關配置

    這篇文章主要為大家介紹了MySQL數(shù)據(jù)讀寫分離MaxScale相關配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 經(jīng)典mysql連接查詢例題

    經(jīng)典mysql連接查詢例題

    本文通過一個有趣的例子向我們介紹了mysql連接查詢,采用了子查詢和連接查詢混合和多次連接查詢,需要的朋友可以參考下
    2015-07-07
  • MySql 空間索引的實現(xiàn)

    MySql 空間索引的實現(xiàn)

    MySQL空間索引是一種用于優(yōu)化地理空間數(shù)據(jù)查詢的數(shù)據(jù)結構,通過為幾何數(shù)據(jù)類型創(chuàng)建空間索引,可以高效地對空間數(shù)據(jù)進行查詢和操作,感興趣的可以了解一下
    2024-11-11
  • 最新版MySQL 8.0.22下載安裝超詳細教程(Windows 64位)

    最新版MySQL 8.0.22下載安裝超詳細教程(Windows 64位)

    這篇文章主要介紹了最新版MySQL 8.0.22下載安裝超詳細教程(Windows 64位),本文通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Mysql大表數(shù)據(jù)歸檔實現(xiàn)方案

    Mysql大表數(shù)據(jù)歸檔實現(xiàn)方案

    本文介紹了MySQL大表數(shù)據(jù)歸檔,通過創(chuàng)建歷史訂單表并基于主鍵id進行分批處理,避免影響線上業(yè)務和產(chǎn)生慢SQL,下面就來詳細的介紹一下,感興趣的可以了解一下
    2024-11-11
  • MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexistentdb‘的簡單解決辦法

    MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexiste

    這篇文章主要給大家介紹了關于MySQL錯誤:ERROR?1049?(42000):?Unknown?database?‘nonexistentdb‘的簡單解決辦法,這個錯誤通常是由于連接的數(shù)據(jù)庫不存在導致的,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07

最新評論

兰州市| 哈密市| 连云港市| 罗山县| 靖江市| 新余市| 金华市| 茂名市| 渝北区| 嘉定区| 鄂尔多斯市| 孙吴县| 钟祥市| 云霄县| 宁夏| 望江县| 土默特右旗| 福泉市| 灌南县| 灌云县| 确山县| 南投市| 梁平县| 游戏| 河津市| 义乌市| 任丘市| 聂拉木县| 法库县| 大石桥市| 卢氏县| 泉州市| 新龙县| 高要市| 天水市| 闽清县| 阜城县| 宣城市| 荔波县| 浪卡子县| 武川县|