一秒教你学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案

mysql报错this is incompatible with sql_mode=only_full_group_by解决方案 MySQL报错"this is incompatible with sql_mode=only_full_group_by"是因为在执行查询时,使用了GROUP BY语句但未对所有非聚合列进行聚合处理。这个错误是由于MySQL的sql_mode设置为only_full_group_by导致的。 在MySQL中,sql_mode是用于控制SQL语句执行行为的一个参数。当sql_mode被设置为only_full_group_by时,表示在使用GROUP BY语句时要求对非聚合列进行聚合操作,即所有出现在SE 阅读详情

  一秒教会你如何解决MySQL-this is incompatible with sql_mode=only_full_group_by错误


前言~~~:

    一、原理层面

   这个错误发生在mysql 5.7 版本及以上版本会出现的问题:

   mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。

   很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

   二、sql层面

   在sql执行时,出现该原因:

   简单来说就是:输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是

   group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list

   和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。




一、查看sql_mode的语句如下

select @@GLOBAL.sql_mode;


二、解决方案-(推荐解决方案二)


①解决方案一:sql语句暂时性修改sql_mode

set
@@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

问题:

重启mysql数据库服务之后,ONLY_FULL_GROUP_BY还会出现。



②解决方案二:完美解决方案。

需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,

my.cnf位于etc文件夹下,vim下光标移到最后,添加如下:

[注意]:这里如果你的mysql用docker发布的话

  1. 先docker exec -it mysql bash 进入mysql容器进行操作,-it 后面加的是容器名称
  2. cd /etc/mysql 目录下找到my.cnf 文件进行编辑
  3. 我这里docker没有安装vim所以需要将my.cnf拷贝出来进行操作sudo docker cp mysql:/etc/mysql/my.cnf /home/
  4. 加入一下配置

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  1. 再cp到mysql容器中sudo docker cp /home/my.cnf mysql:/etc/mysql

ending~~~重启docker或者重启mysql服务,顺利解决。

PVE 8.0 保姆级换源教程:从Debian到LXC仓库,一次搞定国内镜像(附弹窗去除) 本文提供PVE 8.0保姆级换源教程,涵盖从Debian基础源到LXC仓库的国内镜像配置,并附赠去除订阅弹窗的实用技巧。通过详细步骤和命令示例,帮助用户快速优化ProxmoxVE环境,提升下载速度并消除干扰提示,适用于虚拟化平台的高效管理。 阅读详情

相关推荐

WSL中使用VMD图形化界面

【代码】WSL中使用VMD图形化界面。

handsome213的博客 839

MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。 但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。报错信息如下: > Expression #1 of SELECT list is not in GROUP BY clause and contains > nonaggregated column '数据库名.表名.字段名' which is not functiona

Java修炼记 22万+

GD32H7系列SRAM优化配置实战指南

本文详细解析了GD32H7系列MCU的SRAM架构,包括ITCM、DTCM、AXI SRAM等关键内存区域的特点与性能差异。通过实战指南,指导开发者如何通过配置寄存器和链接脚本,优化内存布局以提升系统性能,并重点探讨了DMA操作与CPU缓存一致性的解决方案,帮助充分发挥GD32H7的高性能潜力。

weixin_29169899的博客 518

this is incompatible with sql_mode=only_full_group_by解决方案

mysql查询时group by 报错:this is incompatible with sql_mode=only_full_group_by解决方案

weixin_43818327的博客 1万+

四足机器人通用运动控制策略:强化学习与PD参数优化

运动控制是机器人实现稳定行走和复杂动作的核心技术,其关键在于精确调节关节的刚度和阻尼特性。PD控制器作为基础控制单元,通过比例(P)和微分(D)增益参数直接影响系统响应速度与稳定性。在四足机器人领域,强化学习(RL)通过模拟环境自主学习,能够有效解决传统控制方法难以适应不同形态机器人的痛点。该技术通过非对称Actor-Critic架构,结合状态估计网络和自适应参数采样策略,实现了跨平台的通用运动控制。典型应用包括工业检测、灾害救援等需要高适应性移动能力的场景,其中PD增益优化和形态参数自适应采样成为提升硬件

weixin_30307921的博客 299

保姆级教程:用STM32F103C8T6和MAX6675搞定K型热电偶测温(附模拟/硬件SPI双版本代码)

本文提供STM32F103C8T6与MAX6675实现K型热电偶高精度测温的保姆级教程,涵盖硬件连接、SPI驱动实现及模拟SPI方案,并附双版本代码。详细解析温度数据读取、处理及常见问题排查,助力工业控制、实验室设备等场景的稳定测温系统搭建。

weixin_30765505的博客 587

this is incompatible with sql_mode=only_full_group_by

5分钟学会MySQL- "this is incompatible with sql_mode=only_full_group_by"错误解决方案 前言: 一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_...

香草天空Sky的博客 1万+

通信算法之249: DJI波形物理层

D-J-I的Lightbridge波形、Ocusync1波形、Ocusync2波形、Ocusync3波形,

leegang12的专栏 1436

5分钟学会MySQL-this is incompatible with sql_mode=only_full_group_by错误解决方案

5分钟学会MySQL- "this is incompatible with sql_mode=only_full_group_by"错误解决方案 前言: 一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题...

猿医ˉ生 54万+

人工智能之数学基础:弄懂数学本质,让我们不再害怕数学

数学的用途远远超过了人们的想象,甚至无处不在,任何领域都需要用到数学知识,人工智能也不例外。我将尽可能地将数学知识和机器学习算法相结合,让大家知道这些数学知识咋人工智能领域中的应用,使得数学的学习不会过于枯燥,同时也帮助大家扫清在学习算法过程中的数学障碍。除此之外,我还希望帮助大家建立一种不一样的数学思维,不再将数学看成是符号的演算、公式的推导,而是将数学看成是一种描述这个世界的工具,这样你就会发现这个世界处处有数学。当我们面对问题的时候,你是否会对问题进行抽象,然后通过数学来解决问题?

huanfeng_AI的博客 631

数学建模Matlab算法,第七章 对策论

对策论作为研究竞争与决策的数学理论,从零和对策到非常数和对策,为分析各类博弈问题提供了系统框架。其核心要素包括局中人、策略集和赢得函数,通过稳定解、Nash平衡点等概念揭示竞争规律。该理论广泛应用于经济、军事、政治等领域,不仅提供具体分析工具,更改变了决策思维方式,强调在互动中实现理性选择。对策论既揭示了竞争本质,也凸显合作价值,为解决社会矛盾、促进共赢发展提供了重要启示,在全球化背景下将发挥更大作用。

unber的博客 106

Mac系统开发之——mysql的 this is incompatible with sql_mode=only_full_group_by

一 概述 Mac系统使用MySQL(5.7.29)时,会出现如下错误: 复制 1 ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is...

我的博客 838

PCL RANSAC拟合空间圆【2026最新版】

RANSAC三维点云空间3D圆拟合。博客长期更新,本文最新更新时间为:2026年4月13日。代码在PCL1.15.0中测试通过

点云侠的博客 7454

Mysql 报错this is incompatible with sql_mode=only_full_group_by

一、前言 该问题出现于mysql5.7.5版本及以后 Mysql文档中是这样描述的:HAVING条件或ORDER BY列表引用GROUP BY未在该子句中命名且在功能上不依赖于(由其唯一确定) GROUP BY列的非聚合列,拒绝查询 ONLY_FULL_GROUP_BY Reject queries for which the select list, HAVING condition, or ORDER BY list refer to nonaggregated columns that are n

WuTong_Li 556

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MySQL-this is incompatible with sql_mode=only_full_group_by

5分钟学会MySQL- "this is incompatible with sql_mode=only_full_group_by"错误解决方案 前言: 一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会...

zx07160501的博客 363

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Mysql8.0出现this is incompatible with sql_mode=only_full_group_by

MySQL的sql_mode模式说明及设置 ​ sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题. ​ sql model 常用来解决下面几类问题 (1) 通过设置sql mode, 可以完成不同严格程度的数据校验,有...

hellenlee22的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

this is incompatible with sql_mode=only_full_group_by问题

1. 修改sql_mode设置:将only_full_group_by从sql_mode中删除或者将整个sql_mode设置为空,这样就可以避免报错。这个问题通常出现在MySQL数据库中,是因为MySQL的sql_mode设置为了only_full_group_by,这种模式下,在使用GROUP BY子句分组查询时,如果SELECT中的字段不在GROUP BY 中出现,那么这个查询就会报错。值得注意的是,修改sql_mode可能会影响其他查询的结果,所以最好只在需要时修改当前会话的sql_mode设置。

qq_74585474的博客 5614

SQL语句错误this is incompatible with sql_mode=only_full_group_by解决方法

SQL语句错误this is incompatible with sql_mode=only_full_group_by解决方法

niuniu_666的博客 3810

解决MySQL-this is incompatible with sql_mode=only_full_group_by 问题(提供window、Linux、docker解决方法和流程)

解决MySQL-this is incompatible with sql_mode=only_full_group_by 问题(提供window、Linux、docker解决方法和流程)

kerwin的博客 1万+

解决mysql问题: this is incompatible with sql_mode=only_full_group_by

解决mysql问题: this is incompatible with sql_mode=only_full_group_by

qq_46940224的博客 2748

SQL报错:this is incompatible with sql_mode=only_full_group_by

一、场景二、分析1、原理层面2、sql层面三、解决办法1、前言:查看sql_mode配置2、命令解决3、修改 my.ini 文件四、sql_mode 部分配置解析1、ONLY_FULL_GROUP_BY2、NO_AUTO_VALUE_ON_ZERO3、STRICT_TRANS_TABLES4、NO_ZERO_IN_DATE5、NO_ZERO_DATE6、ERROR_FOR_DIVISION_BY_ZERO7、NO_AUTO_CREATE_USER8、NO_ENGINE_SUBSTITUTION9、PIPE.

夏已微凉、 4769

【Mysql】异常报错解决 “this is incompatible with sql_mode=only_full_group_by”

这个异常表示在 MySQL 查询语句执行时,SELECT 列表中的一些字段未在 GROUP BY 子句中出现,可能会导致输出结果不一致或者不正确。 在设置 sql_mode 为 only_full_group_by 的情况下,MySQL 数据库会禁止此类型的查询。 已解决!!! 在 MySQL 5.7.5 版本之后,默认SQL模式中包含了ONLY_FULL_GROUP_BY选项,要求在GROUP BY子句中的所有列都必须出现在SELECT语句中,并且不能含有聚合函数的列

AA2534193348的博客 3240

MySQL报错:this is incompatible with sql_mode=only_full_group_by

错误情景 今天在自己电脑运行一个刚clone下来的项目,在登录完成进入主页的时候,报了一串this is incompatible with sql_mode=only_full_group_by错误,我很确定之前在公司电脑上是不会有这个错误的,我一开始以为是mysql版本问题,所以从我自己的5.7.33变成了和公司远端数据库一样的5.7.16版本,错误依旧,所以经过了一系列的查找,终于解决了,现在来整合分享一下我的问题。 错误原因 MySQL5.7版本以上使用group by语句时,会有 this.

qq_39450720的博客 2868
上一篇: 数据库分库分表
下一篇: Redis工具类
_Romeo
_Romeo 优质创作者: 后端开发技术领域 优质创作者: 后端开发技术领域
博客等级 码龄8年 2万+粉丝 104原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Romeo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值