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 阅读详情

日常问题记录-问题1

项目在执行GROUP BY时报错

Error querying database. Cause: java.sql.SQLSyntaxErrorException: Expression #3 of SELECT list is not in GROUP 
BY clause and contains nonaggregated column 'hzh.t.dept_id' which is not functionally dependent on columns in 
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ### The error may exist in 
cc/jz/cloud/hzh/enrollment/mapper/InsuranceMapper.java (best guess) ### The error may involve 
defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT 
sum(enrollment_members) AS totalNumber, sum(enrollment_amount) AS totalAmount, dept_id AS deptId, 
any_value(ensure_type) AS ensureType FROM enrollment_insurance t WHERE t.delete_mark = 0 AND (t.status = ? 
AND t.effective_date BETWEEN ? AND ? AND t.bind_dept_id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)) GROUP BY 
t.bind_dept_id, t.ensure_type ### Cause: java.sql.SQLSyntaxErrorException: Expression #3 of SELECT list is not in 
GROUP BY clause and contains nonaggregated column 'hzh.t.dept_id' which is not functionally dependent on 
columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ; bad SQL grammar []; nested 
exception is

问题原因

版本特性:该问题出现在 MySQL 5.7.5 版本及以上,此版本默认的 sql 配置为 sql_mode=“only_full_group_by”,严格执行 “sql92 标准”。
SQL 原理:在开启 only_full_group_by 设置后,若 select 的字段不在 group by 中,且未使用聚合函数(sum、avg、max、min 等),则这条 sql 查询会被 MySQL 认为非法。

临时解决方案

第一步 进入navicat 或者其他连接工具

在这里插入图片描述

第二步 执行以下语句

# 修改全局配置 sql_mode 
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
# 修改session配置 sql_mode 
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

永久解决方案

第一步 找到mysql 配置文件 my.cnf (linux系统)或者 my.ini (windows)系统

linux 系统常见路径:
/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/etc/my.cnf、~/.my.cnf
windows 系统常见路径:
C:\Program Files\MySQL\MySQL Server [版本号]\my.ini或C:\Program Files\MySQL\MySQL Server [版本号]\my.cnf

第二步 加入配置在[mysqld]下方

sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’

加入后如下图所示:

[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
symbolic-links=0
max_connections=10000
lower_case_table_names='1'
default_authentication_plugin=mysql_native_password

第三步 重启mysql

linux 重启mysql

sudo service mysql restart

windows 重启mysql
1、使用服务管理器

按下 “Win + R” 键,打开 “运行” 对话框。
输入 “services.msc” 并按回车键,打开服务管理器。
在服务列表中找到 “MySQL” 或 “MySQL57” 等具体 MySQL 服务名称(取决于 MySQL 版本)。
右键点击服务名称,然后选择 “重启” 即可。

2、使用命令行

打开命令提示符(CMD),可以以管理员身份运行。
输入 “net stop MySQL” 命令来停止 MySQL 服务。
输入 “net start MySQL” 命令来启动 MySQL 服务。
ATE测试的未来:自动化与智能化的技术演进 本文探讨了自动测试设备(ATE)在半导体产业中的技术演进,重点关注自动化与智能化的发展趋势。随着芯片制程的不断进步,ATE面临测试复杂度激增和成本压力等挑战。文章分析了AI技术在测试优化中的应用,如自适应测试和缺陷预测,以及模块化架构和端到端测试生态系统的创新。这些技术突破显著提升了测试效率和设备利用率,为半导体测试的未来发展指明了方向。 阅读详情

相关推荐

EEVDF调度算法核心实现解析(一)

本文深入解析Linux kernel 6.6引入的EEVDF调度算法核心实现,详细讲解其基于虚拟截止时间(virtual deadline)的进程挑选机制和红黑树优化设计。通过代码实例展示算法如何平衡系统响应速度与公平性,特别适合需要优化Linux系统性能的开发者参考。

weixin_42522953的博客 477

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万+

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

MySQL报错:this is incompatible with sql_mode=only_full_group_by 解决方法

sql_mode=only_full_group_by

二哈喇子! 4103

Android Profiler实战:如何用CPU分析工具揪出卡顿元凶(附线程状态解读)

本文深入解析Android Profiler中的CPU分析工具,重点聚焦线程活动监控。通过解读线程状态时间轴上的绿、黄、灰三色含义,并结合实战案例,指导开发者精准定位导致界面卡顿的CPU密集型或I/O阻塞代码,有效提升应用性能与用户体验。

weixin_29197699的博客 372

别再只玩积木了!用乐高EV3和官方软件,手把手教你做个能巡线的小车(附完整代码)

本文详细介绍了如何利用乐高EV3套件和官方软件制作智能巡线机器人,从硬件组装到软件编程全面覆盖。通过传感器原理讲解、控制算法调试等工程化细节,帮助读者掌握机器人开发的核心理念,特别适合STEAM教育和硬件编程爱好者实践。

weixin_30776273的博客 449

mysql 出现in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by问题

部署项目使用到了mysql 5.7.x版本时出现以下问题 Caused by: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT type is not in GROUP BY clause and contains nonaggregated column ‘Tuser_type’ which is not functionally dependent on columns in GROUP BY clause; this is inco

一个抽风的女Ren的博客 1827

YOLOv8 TensorRT C++部署实战详解:从XMake构建到推理流水线

本项目实现了一个基于YOLOv8和TensorRT的高性能火灾烟雾检测系统,具有以下核心特点: 技术架构:采用TensorRT 8.6+进行GPU加速推理,结合CUDA 12.1和OpenCV 4.8+,实现高效计算机视觉处理。系统使用XMake替代CMake构建,配置更简洁高效。

hscing的博客 1065

Mysql执行语句报错this is incompatible with sql_mode=only_full_group_by

报错的输出: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns i...

昆仔的博客 2870

SmartFusion从FPGA到ARM系列教程

前言 本系列教程,将会以Microsemi SmartFusion一代芯片A2F200M3F为例,简单介绍片上ARM Cortex-M3 硬核 MCU 基本外设的使用,及其与FPGA逻辑模块进行交互的示例。 在学习片上硬核ARM Cortex-M3 MCU的开发之前,要先熟悉Microsemi Libero SoC开发环境的使用,可以参考:Microsemi Libero SoC系列教程 关于Microsemi SmartFusion混合型FPGA的介绍,可以参考:Microsemi SmartFusio.

whik1194的博客 8292

使用mid360运行lio-livox对比fast-lio2

msg_type为激光雷达发出的数据格式,有livox自定义数据类型格式CustomMsg和ros标准的PointCloud2格式,因此首先需要确定激光雷达端配置的是哪种格式。可以从激光雷达的ros驱动中看到驱动端有三种格式可以选,驱动端的数字2对应lio-livox中的1,驱动端的0对应lio-livox的格式0。如果使用的是Ubuntu18.04编译完成后运行直接成功,如果使用20.04运行会报错,需要修改以下源代码。针对livox-mid360 运行lio-livox的一些问题。

z1872385的博客 1229

this is incompatible with sql_mode=only_full_group_by MySql报错

昨天在项目中有一个sql查询语句使用到了group by ,在开发环境和测试环境都没有问题,结果到了线上接口就宕掉了,查看了一下报了 this is incompatible with sql_mode=only_full_group_by这个错误。 这个错误对于我来说还算是比较熟悉了,因为这是第二次踩坑了,第一次在半年之前了,当时是修改的mysql的配置,然后就可以了,但是这次是线上的,领导不...

IBLiplus的博客 1864

大模型的应用与微调:如何调用 LLM?从 OpenAI API 到本地部署

本篇文章介绍了如何调用 OpenAI、DeepSeek、Manus、通义千问等大模型 API,并探讨了 LLM 本地部署的方法。在实际应用中,可以根据需求选择云端 API 或本地化部署方案,以满足不同的计算需求和隐私要求。下一篇:大模型微调与 RAG 技术(LoRA、QLoRA、向量数据库)

晴天彩虹雨的博客 1157

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

Camera2Demo

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

VC中sqlite的使用

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

mysql 报错“this is incompatible with sql_mode=only_full_group_by“

本次使用的软件版本如下 linux - centos7.6 mysql 5.7.27 一、原理层面 这个错误发生在mysql 5.7 版本及以上版本会出现的问题: mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。 ...

5687

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql 报错 this is incompatible with sql_mode=only_full_group_by

mysql5.7+的版本默认是开启了 only_full_group_by模式的,开启这个模式后,查询的列必须都是分组的条件。原先的 group by 语句会报这个错误。 查看sql_mode select @@global.sql_mode; 结果: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERR...

yanwin的博客 800

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

mysql报错;this is incompatible with sql_mode=only_full_group_by

这个错误是由于你的 SQL 查询违反了 MySQL 的模式。具体来说,SELECT子句中包含了一个非聚合列(),但该列没有出现在GROUP BY子句中,这导致了语法错误。

C_V_Better的博客 935

MySQL:报错this is incompatible with sql_mode=only_full_group_by

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION第一项默认开启ONLY_FULL_GROUP_BY。这个时候就不存在ONLY_FULL_GROUP_BY;但是如果重启Mysql服务的话,还是会存在的。从语法格式来看,是先有分组,再确定检索的列,检索的列只能在参加分组的列中选。

一些平时在开发过程中遇到的常见问题,分享给大家 1037

解决mysql5.7报错this is incompatible with sql_mode=only_full_group_by

hello你好我是辰兮很高兴能来阅读,本篇整理了项目遇到的一个问题,就是开发过程中mysql版本不兼容导致的问题,分享获取新知,大家一起进步! 最近项目开发遇到的 明明别人电脑都是好的,一到我电脑上本地测试就是这样的问题 ....this is incompatible with sql_mode=only_full_group_by 先说一下我本地用到mysql5.7 问题原因? 下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模.

末尾卡片和博主交流学习! 2954

MySQL 8 group by 报错 this is incompatible with sql_mode=only_full_group_by

在windows系统的mysql修改配置,需要找到自己mysql的安装目录,修改my.ini配置文件。

太白_猿的博客 1318

【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的博客 3241

MySQL5.7 中使用 group by 报错 this is incompatible with sql_mode=only_full_group_by

文章目录1. 报错场景2. 问题分析3. 查看sql模式4. 解决方案(去除 `ONLY_FULL_GROUP_BY`) 1. 报错场景 在sql语句中使用 group by 报错 SELECT FROM `user` GROUP BY `gender`; SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains

辰风沐阳 2560

【Mysql】系统服务启动访问报错问题处理:this is incompatible with sql_mode=only_full_group_by

which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group。通过对问题的查找分析,查看官方文档发现从 MySQL 5.7.5 开始,默认 SQL 模式包括 ONLY_FULL_GROUP_BY。 (在 5.7.5 之前,MySQL 不检测函数依赖,并且默认不启用 ONLY_FULL_GROUP_BY。)这可能会导致一些sql语句失效

Alex的博客 1237

mysql在使用group by查询报错this is incompatible with sql_mode=only_full_group_by

具体报错如下: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'zl.tm.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible w...

霓虹深处 725
上一篇: mysql 基础(三)- springboot项目连接mysql
下一篇: nacos下线服务节点报错 com.alibaba.nacos.consistency.exception.ConsistencyException: Could not find leader
马鱼羊
博客等级 码龄7年 426粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值