在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; // 这是立即刷新使用
然后再次查询刚才创建的表:
我们欣喜的发现它已经自动变成我们想要的时间了,并不用我们手动去调整。
文章评论