原因:
这种报错可能是你 mysql 升级到 5.7++ 而引起的默认值不兼容的问题。
看看你的字段名是什么,我的是时间字段,类型是 datetime。
想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0,因此需要把这两个删掉
将 sql_mode 的内容拷贝出来,删掉 NO_ZERO_IN_DATE,NO_ZERO_DATE,然后在重新设置 sql_mode
set session sql_mode=‘ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’
此方法只是临时有效,想要长期有效的话,则配置 my.ini文件
找到mysql数据库安装目录下 my.ini 文件
添加如下:
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
重启 mysql 服务即可生效
版权声明:本文为yrq205原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。