MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法

作者:.猫的树 时间:2024-01-15 17:25:21 

项目场景:

最近在部署项目之后,运行出现报错:

Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘grades.order_id’ 
which is not functionally dependent on columns in GROUP BY clause; 
this is incompatible with sql_mode=only_full_group_by

问题描述

字面意思理解:

SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含非聚合列“grades.order_id” 它在功能上不依赖于
GROUP BY 子句中的列; 这与 sql_mode=only_full_group_by 不兼容

使用GROUP BY 语句违背了sql_mode=only_full_group_by。因为mysql版本5.7之后默认的模式是ONLY_FULL_GROUP_BY

原因分析:

查看官方文档,发现从 MySQL 5.7.5 开始,默认 SQL 模式包括 ONLY_FULL_GROUP_BY。 (在 5.7.5 之前,MySQL 不检测函数依赖,并且默认不启用 ONLY_FULL_GROUP_BY。)这可能会导致一些sql语句失效。

解决方案:

执行命令vim /etc/mysql/conf.d/mysql.cnf修改配置文件

如果my.cnf中有sql_mode配置,则将ONLY_FULL_GROUP_BY去掉。

如果没有,则将下面内容放到相应位置

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

保存之后,执行命令service mysql restart重启mysql即可。

2022.06.10更新

MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法

最近用docker安装mysql又出现这个问题,修改配置文件之后,重启mysql发现连不上mysql

于是查看错误信息 docker logs -f --tail 10 mysql,出现报错:

Error while setting value
‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
to ‘sql_mode’

MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法

原来mysql 8.0 以上取消了NO_AUTO_CREATE_USER这个关键字,在my.cnf中的sql_mode中删掉这个关键字即可。

来源:https://blog.csdn.net/qq_34383510/article/details/124764673

标签:mysql,报错,expression
0
投稿

猜你喜欢

  • Python装饰器的应用场景代码总结

    2022-09-22 19:24:54
  • Python利用PyExecJS库执行JS函数的案例分析

    2022-10-26 08:53:19
  • Java字符串 正则表达式详解

    2023-07-16 12:30:35
  • 如何利用pyecharts画好看的饼状图

    2021-04-19 09:07:19
  • Python+OpenCV目标跟踪实现基本的运动检测

    2023-05-14 14:30:54
  • Python使用scrapy采集时伪装成HTTP/1.1的方法

    2023-07-07 01:28:40
  • Python利用Scrapy框架爬取豆瓣电影示例

    2022-04-30 15:16:17
  • Python多重继承之菱形继承的实例详解

    2022-08-06 20:29:11
  • python基础教程项目五之虚拟茶话会

    2022-10-25 02:08:47
  • 十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)

    2022-07-21 04:55:52
  • Python使用Pygame绘制时钟

    2022-08-04 14:10:07
  • mysql 按中文字段排序

    2024-01-14 18:04:19
  • Python中属性和描述符的正确使用

    2021-08-14 04:26:45
  • 用python登录带弱图片验证码的网站

    2023-04-28 12:22:22
  • PyTorch搭建ANN实现时间序列风速预测

    2022-11-28 23:38:28
  • 常用SQL语句词典

    2008-08-03 17:19:00
  • 浅述python2与python3的简单区别

    2022-03-06 21:19:47
  • Study jQuery in a Simplified Way

    2010-01-30 12:55:00
  • 国际上十四个优秀网页设计审核站

    2007-09-30 20:18:00
  • 利用python程序帮大家清理windows垃圾

    2021-12-10 22:13:04
  • asp之家 网络编程 m.aspxhome.com