当前位置:网站首页>columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by mysql8.0解决办法
columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by mysql8.0解决办法
2022-07-26 04:37:00 【祖安大龙】
问题如下:
ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘jol.solution.nick’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:
mysql5.7以上默认开启了only_full_group_by选项。我的版本是mysql8.0以上的
Windows解决办法:
先查询查看sql_mode中的内容
select @@GLOBAL.sql_mode;
+-----------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
解决办法有两种,第一种是临时解决,不治本,数据库重启还会重新出现此问题,第二种是修改my.ini配置文件,治本,也方便
办法1:
将查询到的sql_mode中ONLY_FULL_GROUP_BY删去即可,重启就会失效
set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
办法2:
先找到自己mysql安装路径
select @@basedir;
+-----------+
| @@basedir |
+-----------+
| E:\mysql\ |
+-----------+
然后进入文件夹找到自己的my.ini配置文件,修改[mysqld]中的内容,添加下面的内容就可以

一定要加在[mysqld]里面,就是下面这行代码,就是将查询到的sql_mode中ONLY_FULL_GROUP_BY删去
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
然后退出数据库,在服务里面重启MySQL就可以
Ubuntu系统/Linux系统解决办法
我的数据库配置文件存在 /etc/mysql/mysql.conf.d/mysqld.cnf 里,所以直接打开这个文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
打开文件后键入
i #插入命令
会进入这个配置文件
可能会出现这个情况鼠标滚轮下滑没用,使用键盘按键下拉就行
跟windows一样,添加sql_mode,也是删除ONLY_FULL_GROUP_BY后的那一串东西,加进入后键入键盘左上角的Esc,就会退出插入模式,然后再键入 :wq 后回车就可以保存文件,然后再重启MySQL就可以
重启命令:
sudo service mysql restart
然后进入MySQL输入下面的代码查看,即可
select @@GLOBAL.sql_mode;

边栏推荐
- Getting started with mongodb Basics
- 2022河南萌新联赛第(三)场:河南大学 L - 合成游戏
- ASP. Net core actionfilter filter details
- Swiftui one day crash
- 2022 Henan Mengxin League game (3): Henan University B - reverse pair count
- egg-ts-sequelize-CLI
- 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(八)
- Phaser (I): platform jumping collection game
- 数组排序1
- 一个sql server查询截止某个日期最新的记录
猜你喜欢

Calculate the curvature of discrete points (matlab)

UE4 通过按键控制物体的旋转

数据库启动报:ORA-29702: error occurred in Cluster Group Service

性能和成本的综合架构:单元化架构

Add watermark to ffmpeg video

FFmpeg 视频编码

【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(八)

常函数const的学习

Spark Structured Streaming HelloWorld

UE4 switching of control rights of multiple roles
随机推荐
数组排序1
UE4 keyboard control switch light
再获认可 | 赛宁网安连续上榜《CCSIP 2022中国网络安全产业全景图》
UE4 获取玩家控制权的两种方式
clock_ gettime
1. If function of Excel
解析Steam教育的课程设计测评体系
五、域对象共享数据
IEC61131 数据类型与 C#数据类型的对应
"Game engine light in light out" 4. shader
Yapi installation
Weights & biases (II)
2022杭电多校第二场 A.Static Query on Tree(树剖)
Face database collection summary
3、 @requestmapping annotation
Steam科学教育赋予课堂教学的创造力
2022 Hangdian multi school DOS card (line segment tree)
1. Mx6u system migration-6-uboot graphical configuration
Steam science education endows classroom teaching with creativity
C language lseek() function: move the read and write location of the file