admin管理员组文章数量:1642228
问题描述
使用的数据库是 Azure Database for MySQL,其中集成的MySQL版本是:8.0.15
。
程序运行的时候发生异常,查看后台log发现日志中出现SQL错误:
具体错误信息如下:
ERR 1292 - Incorrect date value: '0000-00-00' for column 'xxx_xxx' at row 1
该错误发生后,造成程序插入数据时执行insert语句一直报错。
原因分析
首先进行排查的是在数据库中插入的数据是否存在字段值含有 0000-00-00
的数据,但是很快就排除了这个原因,因为所要被插入的数据集中,该字段的所有值均不存在 0000-00-00
的数据。
排查后发现最终造成原因:在Azure Database for MySQL服务中,数据库参数 sql_mode
默认设置了 NO_ZERO_IN_DATE
与 NO_ZERO_DATE
,造成数据插入的时候发生该错误。
解决办法
修改 Azure Database for MySQL服务中的数据库 sql_mode
的参数值,取消勾选NO_ZERO_IN_DATE
与 NO_ZERO_DATE
。
1. 依次进入 Azure Database for MySQL servers,进入所要修改的数据库,在左侧菜单中找到 Server parameters"服务器参数" 菜单,并找到 sql_mode参数,取消勾选NO_ZERO_IN_DATE
与 NO_ZERO_DATE
。
2. 保存上述更改后,点击服务器重启
3. 最后验证,发现更改后问题得到解决
注:本文原创由 bluetata
发布于https://bluetata.blog.csdn/、转载请务必注明出处。
本文标签: 解决办法incorrectDateDatabaseAzure
版权声明:本文标题:[ Azure - Database ] 解决办法:Incorrect date value ‘0000-00-00‘ for column ‘xxxx‘ at row 1 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729333196a1196658.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论