Mysql中timestamp和datetime的区别

在Mysql中timestamp和datetime都可以存储时间,它们两者有什么区别?
timestamp记录的时间包含时区,会随着时区的变化而变化,而datetime不会随时区变化。

通过如下的例子来说明这个现象:
数据库当前时区:
在这里插入图片描述
存储的时间为:
在这里插入图片描述
修改数据库时区

set global time_zone='+08:00';
set  time_zone='+08:00';
flush privileges;

在这里插入图片描述
数据库数据
在这里插入图片描述
其中timestamp的时间增加的4个小时,而datetime没有变化。

为什么timestamp会增加4个小时?
timestamp的值是 UTC+时区 表示的。+4时区时,时间为12:12,则UTC时间为8:12。
当时区调整为+8时,根据timestamp的显示规则【UTC+时区】,为8:12+8=16:12。

你可能感兴趣的:(mysql,mysql)