千家信息网

mysql的Incorrect datetime value报错问题怎么解决

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"mysql的Incorrect datetime value报错问题怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"mysql的Inc
千家信息网最后更新 2025年01月20日mysql的Incorrect datetime value报错问题怎么解决

这篇文章主要介绍"mysql的Incorrect datetime value报错问题怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"mysql的Incorrect datetime value报错问题怎么解决"文章能帮助大家解决问题。

出现原因:

这个错误发生在mysql 5.7 版本及以上版本会出现的问题:

mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。

很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

sql 层面

在sql执行时,出现该原因:

简单来说就是:

输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是

group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list

和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。

解决办法

修改mysql.ini文件

在[mysqld]配置下面添加

sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"

重启mysql

关于"mysql的Incorrect datetime value报错问题怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0