解决:this is incompatible with sql_mode=only_full_group_by

当出现“this is incompatible with sql_mode=only_full_group_by”错误提示时,可以通过以下方法解决:

一、理解问题原因

在 MySQL 中,开启了sql_mode=only_full_group_by模式后,要求 SQL 语句在进行聚合查询时,必须保证查询结果中的非聚合列都在GROUP BY子句中出现。如果不满足这个条件,就会出现上述错误提示。

二、解决方案

  1. 修改 SQL 查询语句

    • 确保查询结果中的非聚合列都在GROUP BY子句中出现。例如,如果你的查询语句是SELECT column1, column2, SUM(column3) FROM table_name GROUP BY column1,而你想要在结果中显示column2,那么就需要将column2也添加到GROUP BY子句中,变成SELECT column1, column2, SUM(column3) FROM table_name GROUP BY column1, column2
  2. 临时关闭only_full_group_by模式

    • 可以在当前会话中临时关闭only_full_group_by模式。执行以下 SQL 语句:SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));。这将在当前会话中去除only_full_group_by模式,但这只是临时解决方案,当会话结束后,该设置将恢复为默认值。
  3. 永久关闭only_full_group_by模式

    • 要永久关闭该模式,需要修改 MySQL 的配置文件。具体步骤如下:
      • 找到 MySQL 的配置文件,通常是my.cnf(Linux 和 macOS)或my.ini(Windows)。
      • 打开配置文件,在[mysqld]部分添加以下行:sql_mode=''(这将清除所有的 SQL 模式设置,包括only_full_group_by)。或者,可以将sql_mode设置为不包含only_full_group_by的值,例如: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模式可能会导致一些不符合标准的 SQL 查询结果,因此在做出更改之前,请确保你充分理解其影响。同时,建议在开发过程中遵循 SQL 标准,以确保查询的准确性和可移植性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/60106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS2humble版本使用colcon构建包

colcon与与catkin相比,没有 devel 目录。 创建工作空间 首先,创建一个目录 ( ros2_example_ws ) 来包含我们的工作区: mkdir -p ~/ros2_example_ws/src cd ~/ros2_example_ws 此时,工作区包含一个空目录 src : . └── src1 directory, …

MySQL查询数据被截断

说明:本文记录一个MySQL查询,返回数据被截断的问题; 场景 假设有个用户查询列表,查询条件中有个用户类型(普通用户、大会员、黄金大会员、铂金大会员、至尊大会员),是个下拉列表,可…

华为云计算HCIE-Cloud Computing V3.0试验考试北京考场经验分享

北京试验考场 北京考场位置 1.试验考场地址 北京市海淀区北清路156号中关村环保科技示范园区M地块Q21楼 考试场选择北京,就是上面这个地址,在预约考试的时候会显示地址,另外在临近考试的时候也会给你发邮件,邮件内会提示你考试…

GDPU Android移动应用 Broadcast Receiver

聆听广播,跟着节拍吧。 计时器 新建一个名为PhoneStateMonitor的工程; 实现一个应用运行时长的计时器,并在界面上刷新计数器,要求包括: (1)在Layout中包含两个TextView控件,横向分…

【MySQL基础知识】内置的系统函数(5)

MySQL 中的内置系统函数 MySQL 拥有丰富的内置系统函数,这些函数在数据库操作中发挥着重要作用。它们可以用在各种 SQL 语句中,如 SELECT、WHERE、ORDER BY、HAVING以及UPDATE和DELETE语句中。在函数中,可以将字段名作为变量来使用&#xff…

数据发生变化时(DOM)视图没有更新的原因及解决方案 - 2024最新版前端秋招面试短期突击面试题【100道】

数据发生变化时(DOM)视图没有更新的原因及解决方案 - 2024最新版前端秋招面试短期突击面试题【100道】 🔄 在 Vue.js 中,响应式系统负责将数据的变化自动反映到视图上。然而,在某些情况下,当数据发生变化时…

数据库SQL——什么是实体-联系模型(E-R模型)?

目录 什么是实体-联系模型? 1.实体集 2.联系集 3.映射基数 一对一(1:1) 一对多(1:n) 多对一(n:1) 多对多(m:n) 全部参与: 4.主码 弱实体集&#xf…

共筑开源技术新篇章 | 2024 CCF中国开源大会盛大开幕

在这个技术革新日新月异的时代,开源精神如同点燃创新火焰的火种,照亮了无数技术探索者的征途。2024年11月9日,备受瞩目的2024 CCF中国开源大会在深圳这座充满活力的创新之城盛大开幕。这场开源领域的顶级盛事,以“湾区聚力 开源启…

编译文件与工具学习(二)——尝试Ubuntu24.04开发内核模块

尝试在ubuntu下新建内核模块&#xff0c;并插入系统&#xff0c;后命令行测试&#xff0c; link 代码编译 //testKernel.c #include<linux/module.h> #include<linux/kernel.h> #include<linux/init.h>static int __init lkp_init(void) {printk("<…

C语言入门案例练习1——冒泡法排序

冒泡法是一种简单的排序算法&#xff0c;其基本思路如下&#xff1a; 首先&#xff0c;它会遍历待排序的数列。从数列的第一个元素开始&#xff0c;依次比较相邻的两个元素。如果前一个元素比后一个元素大&#xff08;针对升序排列&#xff0c;降序则相反&#xff09;&#xf…

[极客大挑战 2019]Secret File 1

[极客大挑战 2019]Secret File 1 审题 看到题目应该是一道简单的按照要求找flag的题目 知识点 跟着题目走 解题 一&#xff0c;查看源码 找到网站进入 点开发现 【注意它说没看清吗】 二&#xff0c;使用BP抓包试试 发现新出现了/action.php 抓到后放到Repeater中响应 得…

初识Electron 进程通信

概述 Electron chromium nodejs native API&#xff0c;也就是将node环境和浏览器环境整合到了一起&#xff0c;这样就构成了桌面端&#xff08;chromium负责渲染、node负责操作系统API等&#xff09; 流程模型 预加载脚本&#xff1a;运行在浏览器环境下&#xff0c;但是…

语义分割实战——基于DeepLabv3+神经网络头发分割系统源码

第一步&#xff1a;准备数据 头发分割数据&#xff0c;总共有1050张图片&#xff0c;里面的像素值为0和1&#xff0c;所以看起来全部是黑的&#xff0c;不影响使用 第二步&#xff1a;搭建模型 DeepLabV3的网络结构如下图所示&#xff0c;主要为Encoder-Decoder结构。其中&am…

目录树文件名映射深度1分组计数,tree(映射(目录A))

#!/bin/bash#【描述】 目录树文件名映射深度1分组计数,tree(映射(目录A)) #【术语】 # aggaggregate聚合统计按照mime-type分组 # FNFileName文件名 #【基本思路】 # 0. linux gnu tree命令的优点: 目录结构树展示的很友好. 而且 单独做一个同样的展示效果 并不容易 # 1. …

c# 开发web服务 webserver

024-11-10<<<<<<<<<<<<<<<<<<<<<<<<<< 开始插件前Cyber_CallWeb acajax_dac_database_viewer 2024-11-10<<<<<<<<<<<<<<<<<<<<…

「C/C++」C/C++ 预处理 之 常用预处理宏

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

stm32mp2 RMII phy调试总结

stm32mp2 RMII phy调试总结 phy有两种提供clk的方式 1、mac直接提供50M clk给phy。 此时的pin连接 ETH1_CLK(stm32mp2端) --> RXC&#xff08;rtl8201f端&#xff09; 2、晶振提供25M clk给phy&#xff0c;phy在输出给50M给MAC 此时的pin连接 TXC&#xff08;rtl8201f端…

Javascript中如何实现函数缓存?函数缓存有哪些应用场景?

#一、是什么 函数缓存&#xff0c;就是将函数运算过的结果进行缓存 本质上就是用空间&#xff08;缓存存储&#xff09;换时间&#xff08;计算过程&#xff09; 常用于缓存数据计算结果和缓存对象 解释 const add (a,b) > ab; const calc memoize(add); // 函数缓存…

Flink-Kafka-Connector

Apache Flink 是一个用于处理无界和有界数据的开源流处理框架。它支持高吞吐量、低延迟以及精确一次的状态一致性等特性。Flink 社区提供了丰富的连接器&#xff08;Connectors&#xff09;以方便与不同的数据源进行交互&#xff0c;其中就包括了 Apache Kafka 连接器。 Apach…

Maven的依赖管理、传递、冲突、父子工程的继承和聚合

目录 一、基于IDEA 进行Maven依赖管理 (一)依赖管理概念 (二)Maven工程核心信息配置和解读&#xff08;GAVP&#xff09; (三)Maven工程依赖管理配置 1.依赖管理和依赖添加 2.依赖版本统一提取和维护 (四)依赖范围 (五)Maven工程依赖下载失败错误解决&#xff08;重点…