我的编程空间,编程开发者的网络收藏夹
学习永远不晚

this is incompatible with sql_mode=only_full_group_by问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

this is incompatible with sql_mode=only_full_group_by问题

这个问题通常出现在MySQL数据库中,是因为MySQL的sql_mode设置为了only_full_group_by,这种模式下,在使用GROUP BY子句分组查询时,如果SELECT中的字段不在GROUP BY 中出现,那么这个查询就会报错。

解决这个问题有两种方法:

1. 修改sql_mode设置:将only_full_group_by从sql_mode中删除或者将整个sql_mode设置为空,这样就可以避免报错。例如:SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

2. 修改查询语句:将SELECT中的所有字段都添加到GROUP BY中。例如:SELECT column1, column2 FROM table_name GROUP BY column1, column2;

值得注意的是,修改sql_mode可能会影响其他查询的结果,所以最好只在需要时修改当前会话的sql_mode设置。

例如:

SELECT ifnull(m.major_nickname, '跨专业'), COUNT(studio_id) num 
FROM t_studio s 
LEFT JOIN t_major m ON s.major_name = m.major_name
WHERE s.studio_type_id = 3
GROUP BY s.major_name
ORDER BY m.major_nickname这句sql会报this is incompatible with sql_mode=only_full_group_by这个错误

解决方法,规范sql语句或

这个错误是MySQL在执行GROUP BY语句时的一个严格模式。它要求在SELECT查询子句中使用的所有字段,在GROUP BY子句中都必须出现,或者用聚合函数处理。这个错误通常发生在MySQL 5.7之后的版本。

如果您想要修复这个错误,可以尝试以下两种方法之一:

1. 关闭strict模式

可以在MySQL配置文件my.cnf(Linux系统)或my.ini(Windows系统)中关闭strict模式。在[mysqld]部分添加如下代码:

```
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION
```



然后重启MySQL服务即可。

2. 修改SQL语句

修改SQL查询语句,将ifnull和order by语句中的m.major_nickname改为s.major_name。

例如:

```
SELECT ifnull(m.major_nickname, '跨专业'), COUNT(studio_id) num 
FROM t_studio s 
LEFT JOIN t_major m ON s.major_name = m.major_name
WHERE s.studio_type_id = 3
GROUP BY s.major_name, m.major_nickname
ORDER BY s.major_name
``` 

以上两种方法都可以解决这个问题。

 

 

 

 

来源地址:https://blog.csdn.net/qq_74585474/article/details/130057108

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

this is incompatible with sql_mode=only_full_group_by问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Mysql8报错this is incompatible with sql_mode=only_full_group_by问题

MySQL8中“thisisincompatiblewithsql_mode=only_full_group_by”错误提示指在ONLY_FULL_GROUP_BY模式下,未对所有非聚合列进行分组。解决方法包括:修改sql_mode设置为兼容模式或调整查询,如对所有非聚合列分组或使用子查询隐式分组。
Mysql8报错this is incompatible with sql_mode=only_full_group_by问题
2024-04-02

mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by

解析:在mysql 工具 搜索或者插入数据时报下面错误:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
2019-12-03

MySQL出现this is incompatible with sql_mode=only_full_group_by错误的解决办法

目录这个就是错误截图出现原因: mysql的版本问题解决办法:两种第一种:修改MySQL的配置文件第二种方法:修改自己的sql总结这个就是错误截图出现原因: MySQL的版本问题MySQL 5.7.5以上版本,实现了对功能依赖的检测。如果
2023-02-17

MySQL出现this is incompatible with sql_mode=only_full_group_by错误的解决办法

mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错,下面这篇文章主要给大家介绍了关于MySQL出现this is incompatible with sql_mode=only_full_group_by错误的解决办法,需要的朋友可以参考下
2023-02-17

SQL 报错 sql_mode=only_full_group_by 问题

SQL 报错 sql_mode=only_full_group_by 问题 原因分析 一、原理层面 这个错误发生在mysql 5.7.5 版本及以上版本会出现的问题: mysql 5.7.5版本以上默认的sql配置是:sql_mode=
2023-08-21

MYSQL5.7版本sql_mode=only_full_group_by问题

下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了。一旦开启 only_full_group_by ,感觉,group by 将变成
2016-08-03

解决mysql @@sql_mode问题---only_full_group_by

目录运行环境系统运行出现的问题上度娘查询的结果提供两个解决方案方案一(只适合暂时解决性的,mysql 重启就一朝回到解放前了)方案二(修改mysql 中的配置文件,达到当重启mysql 回去制动加载配置文件的内容)总结运行环境linux
解决mysql @@sql_mode问题---only_full_group_by
2024-09-04

解决MySql版本问题sql_mode=only_full_group_by

目录mysql版本问题sql_mode=only_full_group_byWindowssql_mode=only_full_group_by以及多种解决方案出错的sql情况解决方案1解决方案2MySql版本问题sql_mode=only
2022-11-19

mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)

目录mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查1.查询SQLMODE2.临时修改sql-mode执行SQL3.永久修改sql-mode总结mysql ONLY_FULLjs_GROUP_BY设置sql_mo
mysql ONLY_FULL_GROUP_BY设置sql_mode无效排查问题(windows)
2024-09-07

MySQL报错:sql_mode=only_full_group_by 4种解决方法含举例,轻松解决ONLY_FULL_GROUP_BY的报错问题

​ 作为初学者,我们在使用MySQL的时候总是会遇到各种各样的报错,让人头痛不已。其中有一种报错,sql_mode=only_full_group_by,十分常见,每次都是老长的一串出现,然后带走你所有的好心情。 ​​ 出现这样的报错,并不
2023-08-17

ORA-15300: File string is incompatible with this operation ORACLE 报错 故障修复 远程处理

文档解释ORA-15300: File string is incompatible with this operationCause: The file type was incompatible with the
ORA-15300: File string is incompatible with this operation ORACLE 报错 故障修复 远程处理
2023-11-05

Android调试出现The selected device is incompatible问题解决

Android调试出现The selected device is incompatible问题解决 在做Android调试时碰到该问题。详情如下图所示:总结了一下碰到该问题的原因:1、手机的版本太低,没有做到向下兼容。 2、由于state
2022-06-06

Vue+Element-ui弹窗 this.$alert is not a function问题

这篇文章主要介绍了Vue+Element-ui弹窗 this.$alert is not a function问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

编程热搜

目录