时区导致的一个数据插入失败的案例:
直接看我贴图,严格的sql_mode模式,时区和服务器时区一致(东八区)
创建一个带有timestamp格式的字段的表tt,往里插入一条记录。可以看到第一条记录插入失败。而从8点之后的插入都能成功。
修改时区为格林威治时区。再次执行插入操作:
可以看到插入成功了。
注意:
现在datetime格式也支持自动更新,且只占据5bytes长度(timestamp占据4bytes),但是datetime支持的时间范围更广泛。因此推荐使用datetime格式的字段类型。