首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mysql8.0+版本在使用group by 出现的问题

mysql8.0+版本在使用group by 出现的问题

作者头像
河岸飞流
发布2024-05-25 09:07:13
发布2024-05-25 09:07:13
1.1K0
举报
文章被收录于专栏:开发杂记开发杂记
起因:

由于想使用MySQL8中的函数,手动将项目中的数据库从5.7升级到了8.0.20 社区版本,但是升级完之后部分查询报错了,错误信息如下

代码语言:javascript
复制
	which is not functionally dependent on columns in GROUP BY clause; this is incompatible withsql_mode=only_full_group_by

去搜了一下,推荐的几篇都说是需要修改配置文件,按照文章提示的操作了,结果重启就报错,仔细比对了才发现文章里的配置项加了单引号,而且还有多余的空格,简直是害人。这里记录一下,希望能帮到刷到这篇文章的你。

解决:

在客户端或者服务器连上MySQL后输入SELECT @@sql_mode;,得到结果集如下:

代码语言:javascript
复制
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,然后去修改配置文件my.cnf,在[mysqld]下添加一行

代码语言:javascript
复制
sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重启MySQL服务器,这里我是直接通过命令方式,或者添加了service可以通过service 重启

代码语言:javascript
复制
 #关闭命令
 /home/mysql8/bin/mysqladmin -uroot -p shutdown
 #启动命令
 /data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 起因:
  • 解决:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档