因为我将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
。
答案 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
来解决的。