MySql中timestamp創建日期的時區問題

原文地址: https://www.jeremyjone.com/510/ ,轉載請註明。


在MySql中創建表的時候,經常需要創建一個創建日期字段,一般來說,在創建時我們使用timestamp直接可以生成該字段,並不用我們手動操作。

發現問題

CREATE TABLE t1(
    id int(11) primary key auto_increment,
    create_date timestamp default current_timestamp
)default charset=utf8;

這樣就可以創建一個最簡單的測試表:

file

然後我們添加一條測試數據:

INSERT INTO t1 (id) VALUES (1);

然後查詢一下,發現了問題:

file

爲了顯示問題效果,我特意和當前時間截了圖,timestamp創建的時間和我們相差好多,這是因爲MySql默認使用美國東部時間,所以我們需要改變一下時區。

修改MySql的時區

在終端運行如下命令:

SET time_zone = '+8:00';  // 將時區改成我們的東八區
flush privileges; // 這是立即刷新使用

然後再次查詢剛纔創建的表:

file

我們欣喜的發現它已經自動變成我們想要的時間了,並不用我們手動去調整。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章