原文地址: 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;
這樣就可以創建一個最簡單的測試表:
然後我們添加一條測試數據:
INSERT INTO t1 (id) VALUES (1);
然後查詢一下,發現了問題:
爲了顯示問題效果,我特意和當前時間截了圖,timestamp
創建的時間和我們相差好多,這是因爲MySql默認使用美國東部時間,所以我們需要改變一下時區。
修改MySql的時區
在終端運行如下命令:
SET time_zone = '+8:00'; // 將時區改成我們的東八區
flush privileges; // 這是立即刷新使用
然後再次查詢剛纔創建的表:
我們欣喜的發現它已經自動變成我們想要的時間了,並不用我們手動去調整。