由于某种原因,该命令无法正常工作,无法弄清楚可能出了什么问题。我正在使用mysql,这是命令:

update users set regdate = '2017-06-30 15:08:24' where regdate = '0000-00-00 00:00:00'


这是错误消息

Incorrect datetime value: '0000-00-00 00:00:00' for column 'regdate' at row 1


regdate字段是日期时间类型。
请帮忙

最佳答案

感谢@ lad2025提出正确的问题。
要更改这些设置,您可以使用:

SET SQL_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_D‌​IVISION_BY_ZERO,NO_A‌​UTO_CREATE_USER,NO_E‌​NGINE_SUBSTITUTION';


在您的UPDATE之前输入该行,并且不会发生任何错误

如果我正确理解documentation,则不会永久设置SQL_mode。对于永久更改,您将必须修改.cnf文件

10-04 10:57