当前位置: 首页 > news >正文

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_by

请添加图片描述
它在功能上不依赖于GROUP BY子句中的列;这与sqlmode=onlyfull_groupby不兼容


原因分析及解决方案:

提示:这里填写问题的分析该及问题的具体解决方案:

这个问题与MySQL的SQL模式设置有关,具体来说是ONLY_FULL_GROUP_BY模式。
这个模式要求:当使用GROUP BY时,SELECT的列必须在GROUP BY子句中,或者它们必须被一个聚合函数所包含。

所以需要知道当前MySQL服务器的sql_mode设置:

SELECT @@global.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_ENGINE_SUBSTITUTION
在这里插入图片描述
要永久解决这个问题,需要修改MySQL服务器的配置文件以移除ONLY_FULL_GROUP_BY。这个配置文件的位置取决于你的操作系统和MySQL版本,但是通常位于my.ini 配置文件中

找到一个名为[mysqld]的部分,其中包含了各种设置。需要找到sql_mode设置,并从其中移除ONLY_FULL_GROUP_BY

根据上面我的返回结果,我的sql_mode设置应该将其设置为:

[mysqld]  
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

在这里插入图片描述

保存并关闭配置文件后,需要重启MySQL服务器以使更改生效。在大多数系统上,可以通过任务管理器中找到mysql,打开服务:
在这里插入图片描述

最后再次打开Navicat看看是否报错,并重新运行SELECT @@global.sql_mode;及时检查
在这里插入图片描述


总结:

提示:这里填写该问题的解决过程的总结:

查询当前MySQL服务器的sql_mode设置。

SELECT @@global.sql_mode;

去掉返回结果中的ONLY_FULL_GROUP_BY,,只保留STRICT及后面的东西:sql_mode='STRICT_XXXXX'

然后重启 mysql服务器,打开Navicat重新运行查询当前MySQL服务器的sql_mode设置的代码,看返回结果中是否还包含GROUP_BY,不包含就对了

http://www.lryc.cn/news/173276.html

相关文章:

  • impala常用时间函数,date->string->timestamp互转
  • 无源供电无线测温系统的应用意义
  • 使用 PyTorch 的计算机视觉简介 (1/6)
  • 用PHP实现极验验证功能
  • 【数据结构初阶】三、 线性表里的链表(无头+单向+非循环链表)
  • Mybatis 映射器与XML配置职责分离
  • 微服务引擎
  • 前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(三)
  • 搭建部署属于自己的基于gpt3.5的大语言模型(基于flask+html+css+js+mysql实现)
  • AI创作专家,免费的AI创作专家工具
  • Nginx之gzip模块解读
  • 微软在Windows 11推出Copilot,将DALL-E 3集成在Bing!
  • SLAM从入门到精通(消息传递)
  • 思科路由器:NAT的基础配置
  • 动态代理。
  • Learn Prompt-GPT-4:能力
  • iOS——ViewController的生命周期
  • SkyWalking内置参数与方法
  • 【C++面向对象侯捷】12.虚函数与多态 | 13.委托相关设计【设计模式 经典做法,类与类之间关联起来,太妙了,不断的想,不断的写代码】
  • 基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(五)
  • hive数据初始化
  • React+Node——next.js 构建前后端项目
  • CRM系统主要包括哪些功能?
  • Nginx location 精准匹配URL = /
  • 使用JAXB将Java对象转xml
  • Atlas 200 DK开发板问题总结
  • uniapp——实现二维码生成+保存二维码图片——基础积累
  • 零基础学前端(六)重点讲解 JavaScript
  • 数据库问题记录(粗略版)oracle、mysql等主流数据库通用
  • ORACLE多列中取出数据最大的一条