前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL5.7 group by新特性,报错1055

MySQL5.7 group by新特性,报错1055

作者头像
拓荒者
发布于 2019-03-11 08:09:20
发布于 2019-03-11 08:09:20
62600
代码可运行
举报
文章被收录于专栏:运维经验分享运维经验分享
运行总次数:0
代码可运行

项目中本来使用的是mysql5.6进行开发,切换到5.7之后,突然发现原来的一些sql运行都报错,错误编码1055,错误信息和sql_mode中的“only_full_group_by“有关,到网上看了原因,说是mysql5.7中only_full_group_by这个模式是默认开启的  解决办法大致有两种:  一:在sql查询语句中不需要group by的字段上使用any_value()函数  当然,这种对于已经开发了不少功能的项目不太合适,毕竟要把原来的sql都给修改一遍

二:修改my.cnf(windows下是my.ini)配置文件,删掉only_full_group_by这一项  我们项目的mysql安装在ubuntu上面,找到这个文件打开一看,里面并没有sql_mode这一配置项,想删都没得删。  当然,还有别的办法,打开mysql命令行,执行命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select @@sql_mode
  • 1

这样就可以查出sql_mode的值,复制这个值,在my.cnf中添加配置项(把查询到的值删掉only_full_group_by这个选项,其他的都复制过去):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 1

如果 [mysqld] 这行被注释掉的话记得要打开注释。然后重重启mysql服务

注:使用命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  • 1

这样可以修改一个会话中的配置项,在其他会话中是不生效的。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/03/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL5.7版本sql_mode=only_full_group_by问题解决办法
原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错。
全栈程序员站长
2022/08/24
6550
MySQL5.7版本sql_mode=only_full_group_by问题解决办法
MySQL5.7之group by语法问题
使用group by 进行分组查询时,提示异常: SELECT list is not in GROUP BY clause and contains nonaggregated column ‘XXX’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode =only_full_group_by
执笔记忆的空白
2020/12/24
9040
mysql5.7 group by语法 1055
1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'information_schema.ENGINES.ENGINE' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
陈灬大灬海
2019/07/03
1.4K0
mysql5.7 group by语法 1055
MySQL报错1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated colu
1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'fbjs.mscc.ContactTime' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by, Time: 0.000000s
JaneYork
2023/10/11
5830
MySQL报错1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated colu
MySQL中使用group by出现1055错误的解决办法
解释:ONLY_FULL_GROUP_BY: 对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么将认为这个SQL是不合法的,因为列不在GROUP BY从句中
悟空宇
2024/03/11
9020
MySQL中使用group by出现1055错误的解决办法
[MySQL] 5.7版本以上group by语句报1055错误问题
1. 在5.7版本以上mysql中使用group by语句进行分组时, 如果select的字段 , 不是完全对应的group by后面的字段 , 有其他字段 , 那么就会报这个错误
唯一Chat
2019/09/10
6800
[MySQL] 5.7版本以上group by语句报1055错误问题
MySQL:解决MySQL5.7以上使用GROUP BY语句时报错
使用GROUP BY 语句违背了sql_mode=only_full_group_by。因为mysql版本5.7之后默认的模式是ONLY_FULL_GROUP_BY。官网文档的原话:
Jensen_97
2023/07/20
4.5K0
MySQL:解决MySQL5.7以上使用GROUP BY语句时报错
ERROR 1055 (42000): Expression #1 of SELECT list is not in
字面意思理解是sql_model=only_full_group_by限制了,导致在以往MYSQL版本中能正常查询的SQL,在5.7不能用了
码农编程进阶笔记
2021/07/20
1.5K0
MySQL报错1055 – Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated 解决方法
今天在进行数据迁移时,使用Navicat连接数据库进行连接时,由于 SQL语句中使用了 group by分组函数,结果报了如下错误:
Java架构师必看
2021/03/22
2.4K0
MySQL报错1055 – Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated 解决方法
MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
SELECT id, name, count(*) AS cnt FROM case_table GROUP BY name
授客
2019/09/29
1.8K0
已解决:mysql报错:1055 - this is incompatible with sql_mode=only_full_group_by
[Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'tase1.ai.home_url' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
陈哈哈
2020/07/06
5.1K0
MySQL遇见SELECT list is not in GROUP BY clause and contains nonaggre的问题
方法一 使用命令行或者数据库客户端执行SQL 1.SQL语句,select @@global.sql_mode查询
流柯
2020/08/28
2.5K0
Java中ONLY_FULL_GROUP_BY错误
将数据从旧的数据库(MySQL5.1)迁移到新的数据库(MySQL5.7)中时,查询语句不变的情况下,报如下错;
村雨遥
2019/11/06
9990
Java中ONLY_FULL_GROUP_BY错误
MySQL使用group by分组时报错
第一项默认开启ONLY_FULL_GROUP_BY了,导致出现了错误,需要把它的默认关掉。
Autooooooo
2020/11/09
1.8K0
MySQL使用group by分组时报错
mysql5.7在使用group by的注意事项
这是因为在mysql5.7中开启了sql_mode中的“only_full_group_by”,而这个在执行以往版本中带有group by的语句时就会报错。
别团等shy哥发育
2023/02/25
7330
mysql5.7在使用group by的注意事项
mysql5.7.5版本的sql_mode=only_full_group_by问题
mysql5.7.5版本默认设置了sql_mode=only_full_group_by,造成了之前使用的sql语句有些会出现sql_mode=only_full_group_by错误,接下来为解决此类问题的方法。
余生大大
2022/10/25
4530
MySQL的sql_mode模式说明及设置
sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。
星哥玩云
2022/08/18
2.1K0
mysql 5.7 sql_mode设置问题
在mysql较低版本中,对SQL语句并没有严格的限制检查,在5.7及以上版本开启严格模式,在插入数据的时候,如果字段没有设置默认值,则会报类似于这样的错误:“Field ‘title’ doesn’t have a default value”。
参谋带个长
2022/04/28
1.3K0
使用GROUP BY 发生错误 SELECT list is not in GROUP BY clause .......... 解决
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.w.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
友儿
2022/09/11
2.2K0
MySQL only_full_group_by 1055 报错的三种解决方案,临时关闭有影响吗?
本文首发:MySQL only_full_group_by 1055报错的三种解决方案,临时关闭有影响吗?
蒋川
2021/12/02
6.3K0
MySQL only_full_group_by 1055 报错的三种解决方案,临时关闭有影响吗?
推荐阅读
相关推荐
MySQL5.7版本sql_mode=only_full_group_by问题解决办法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验