小工具知识网

当前位置: 首页 > 行业知识 > SQL语句错误this is incompatible with sql

行业知识

SQL语句错误this is incompatible with sql

2026-11-08 02:24:52 来源:互联网转载

一、原理层面

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

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

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

二、sql层面

在sql执行时,出现该原因,简单来说就是:

由于开启了ONLY_FULL_GROUP_BY的设置,如果select 的字段不在 group by 中,

并且select 的字段未使用聚合函数(SUM,AVG,MAX,MIN等)的话,那么这条sql查询是被mysql认为非法的,会报错误…

解决方法:

在Windows在修改配置文件

找到MySQL安装目录,并用编辑器打开,我这边用的notepad++

编辑my.ini文件,在[mysql]标签下

这是原来的sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

去掉前面的ONLY_FULL_GROUP_BY,

保存文件

再底部右键打开任务管理器,选择服务,找到MySQL80,停止服务,再次开启服务

重新执行SQL语句,就可执行成功了

上一篇:揭秘ASP源码,轻松搭建在线商城购物网站!

下一篇:微信上传控件操作详解,轻松上手,一键掌握上传技巧!