MySQL 5.7:DATETIME =' 0000-00-00 00:00:00'

时间:2015-07-19 15:38:30

标签: mysql mysql-5.7

因为我将MySQL-Database升级到5.7,所以当我尝试将datetime列设置为0000-00-00 00:00:00时出现问题:

UPDATE users
SET updateTime = '0000-00-00 00:00:00'
WHERE id = 123;

// #1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'updateTime ' at row 1 

如果我使用UPDATE IGNORE [...]运行查询,它可以正常工作。

未设置SQL模式NO_ZERO_DATE。有什么设置可以解决这个问题吗?

我真的不愿意为应用程序中的每个查询添加IGNORE

1 个答案:

答案 0 :(得分:0)

我在更新表单Ubuntu 14.04 repo mysql 5.5.6时遇到了同样的问题?到mysql 5.7.9

我正在使用perl脚本来执行多个加载数据infile,其中日期有时为0000-00-00 00:00:00。我也在DBO trace中得到错误1292,这是通过从optionsfile中的sql模式中删除STRICT_TRANS_TABLES来解决的。