天天看点

time_zone导致的 数据插入失败问题

时区导致的一个数据插入失败的案例:

直接看我贴图,严格的sql_mode模式,时区和服务器时区一致(东八区)

<a href="https://s4.51cto.com/oss/201711/02/24881beb4782c623ebbfa32f5c40d164.png" target="_blank"></a>

创建一个带有timestamp格式的字段的表tt,往里插入一条记录。可以看到第一条记录插入失败。而从8点之后的插入都能成功。

<a href="https://s1.51cto.com/oss/201711/02/186a2fd520b246ec2a0e76653e26fb1d.png" target="_blank"></a>

修改时区为格林威治时区。再次执行插入操作:

<a href="https://s2.51cto.com/oss/201711/02/e2de279589263dafb0b1fc09ba47bc5b.png" target="_blank"></a>

可以看到插入成功了。

注意:

现在datetime格式也支持自动更新,且只占据5bytes长度(timestamp占据4bytes),但是datetime支持的时间范围更广泛。因此推荐使用datetime格式的字段类型。

本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1978544,如需转载请自行联系原作者

继续阅读