加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql的Incorrect datetime value报错问题怎么处理

发布时间:2023-05-09 14:01:23 所属栏目:MySql教程 来源:
导读:这篇文章主要介绍“mysql的Incorrect datetime value报错问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!