【发布时间】:2019-07-15 18:23:45
【问题描述】:
我有一个包含 2M 记录的表,直到几个小时前一切正常。
突然,它在以前可以正常工作超过 1 年的查询上抛出错误。
问题是在 timestamp 列中插入正确的 dateTime(如 2019-07-15 22:22:47)会返回错误:
不正确的日期时间值:第 1 行的列“created_at”的“0000-00-00 00:00:00”
1- 我做了重复的表结构和查询在重复的表上工作正常
2- 我今天确实运行了yum update。
3- 操作系统:CentOS 6.10 版(最终版)
4- MySql:服务器版本:8.0.16 MySQL 社区服务器 - GPL
编辑: 我已经阅读了其他问题,但它完全不同,我已经发布了答案
【问题讨论】:
-
您的表中很少有旧记录的日期时间值不正确
0000-00-00 00:00:00。你需要修复这些。如果您不知道它们的正确值;您可以将它们设置为null。做:SET sql_mode = ''; UPDATE your_table_name SET created_at = null WHERE created_at = '0000-00-00 00:00:00'; -
@MadhurBhaiya 不,没有任何记录'0000-00-00 00:00:00'
-
你提到的问题是完全不同的情况,我正在插入一个包含有效数据的新行