今天导入功能测试的时候报错,报错提示
Incorrect date value:'0000-00-00' for column 'xxxxx'.
在网上查了一下解决办法。
1 通过mysql 全局设置来解决这个问题。
show variables like 'sql_mode';
查看sqlmode然后去掉对应的
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
然后再在对应的数据库中进行操作。(如果在phpstudy中,则不要重启mysql。否则会重新加载phpstudy的配置。你就白改了)
2 phpstudy mysql 设置。(跟1类似,但是不知道为什么我1没生效)
在windows - mysql 的环境下面。选择mysql配置。然后再重启对应mysql(永久)
对应的参数说明如下
tip:: 更改的时候估计只需要显示勾选no_zero_date 跟 no_zero_in_date 就好了。注意allow_invalid_dates 不要勾选。
可参考链接sqlmode中的具体参数对应模式可以参考对应的官方链接。
https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_allow_invalid_dates
参考资料:
https://www.jeeinn.com/2020/01/1107/