MySQL5.7版本报错:this is incompatible with sql_mode=only_full_group_by

亲们,不想看我的解决思路可直接查看此大佬的博文(解释的特别详细)
博主:不坠青云之志
解决地址:https://blog.csdn.net/qq_43279637/article/details/84842189
(踩坑记录):一定要确定你的mysql配置文件my.cnf所在的路径,不要找到一个my.cnf就改,改之后也是没有效果的
MYSQL的配置文件my.cnf :关于MYSQL的配置文件my.cnf 一些存放位置和配置说明

MySQL5.7版本报错:this is incompatible with sql_mode=only_full_group_by

前言

生产环境没有出现这个问题,而在我本地测试环境中项目运行报此错误,毋庸置疑是环境问题,一看确实,生产环境mysql是5.6 ,而我本地环境mysql是5.7的,从日志中可以看出这个mysql抛出的异常,不用想是mysql问题,不是代码问题,从报错打印的日志发现是一段sql出的问题,在navicat 中测试此sql 果然是sql语句的问题,然后百度呗。。。。

在解决过程中我修改了几次my.cnf配置文件,怎么重启mysql服务都无效,当时脑袋都大了,后来发现所改的my.cnf根本不是当前测试sql的数据库配置文件,后来查阅当前数据库配置文件地址方法 关于MYSQL的配置文件my.cnf 一些存放位置和配置说明 ,然后修改mysql5.7ONLY_FULL_GROUP_BY模式 , 搞定,问题解决!!!

MySQL 5.7中,当执行查询语句时可能会出现"this is incompatible with sql_mode=only_full_group_by"的错误。这是由于MySQL 5.7默认启用了严格的sql_mode=only_full_group_by配置,按照SQL92标准要求,当使用GROUP BY语句时,必须包含所有查询的字段或者使用聚合函数。 为了兼容MySQL 5.7以下版本,有些旧的源码中没有按照此规则编写。因此,当执行这些旧的代码时就会出现该错误。 要解决这个问题,有以下几种方法: 1. 将查询中的所有字段都添加到GROUP BY子句中。这样做可以保证查询的合法性,但可能会导致结果不准确。 2. 使用聚合函数将其他字段进行聚合。例如,如果只需要对某个字段进行分组,可以使用SUM()、COUNT()或者其他合适的聚合函数对其他字段进行聚合。 3. 修改MySQLsql_mode配置,将only_full_group_bysql_mode中移除。这样可以恢复到较早版本的默认行为,但可能会引入其他潜在的问题。 需要注意的是,修改MySQL的配置需要具备管理员权限。可以通过修改my.cnf或者my.ini文件中的配置来实现。 总之,"this is incompatible with sql_mode=only_full_group_by"错误是由于MySQL 5.7中默认启用了严格的sql_mode=only_full_group_by配置所引起的。可以通过添加所有字段到GROUP BY子句,使用聚合函数对其他字段进行聚合,或者修改MySQLsql_mode配置来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [this is incompatible with sql_mode=only_full_group_by解决方案](https://blog.csdn.net/weixin_43818327/article/details/125598187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [mysql 5.7 this is incompatible with sql_mode=only_full_group_by](https://blog.csdn.net/qq_37752382/article/details/113310996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [解决MySQL 5.7.9版本sql_mode=only_full_group_by问题](https://download.csdn.net/download/weixin_38697063/13699570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值