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

【数据库】MySQL解决ONLY_FULL_GROUP_BY模式

错误报告:

表达式 #38 在 SELECT 列表中未包含在 GROUP BY 子句中,并且包含了非聚合列 ‘platform.oai.score’,此列并非在 GROUP BY 子句中的列的功能性依赖;这与 sql_mode 设置为 only_full_group_by 不兼容。

错误起因:

在 MySQL 数据库版本 5.7 及以上版本中,默认激活了 ONLY_FULL_GROUP_BY SQL 模式。在此模式下,执行 GROUP BY 操作时,若 SELECT 语句中的列未在 GROUP BY 子句中声明,则该 SQL 语句将被视为非法。由于相关列未在 GROUP BY 子句中指定,因此当数据库设置中包含 sql_mode=only_full_group_by 时,使用 GROUP BY 将会导致报错。

解决方案:

  1. 检视当前模式:执行以下查询语句 SELECT @@GLOBAL.sql_mode;

  2. 在 Linux 系统中,编辑 /etc/my.cnf 文件,加入以下配置代码,然后重启数据库服务:

    sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
  3. 在 Windows 系统中,请打开 my.ini 文件,添加以下配置代码,保存后重启数据库服务:

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

http://www.mrgr.cn/news/46966.html

相关文章:

  • Nodejs 安装配置多个版本
  • 使用 configparser 读取 INI 配置文件
  • 系统架构设计师考点—项目管理
  • 深度解析Linux中的调试器gdb/cgdb的使用
  • 【无标题】四类sql语句通用
  • Cesium加载地形
  • 刷题 双指针 滑动窗口
  • 你能描述一下Java中的JDBC连接池吗?Java中的事务隔离级别有哪些?它们分别是什么?
  • 三菱FX5U-CCLINK IEFB网关HT3S-CIS-MDN读取七星华创CS310空气流量计数据应用案例
  • 骨传导耳机哪款好?2024年骨传导耳机推荐!好戴不伤耳~
  • 图像处理概述
  • PPT分享:埃森哲-业务流程BPM能力框架体系
  • 【学术会议征稿】第五届应用力学与机械工程国际学术会议(ICAMME 2024)
  • C++学习笔记(55)
  • fastadmin 多商户模式下侧边栏跳转路径BUG
  • Python - Modbus测试
  • 【Java异常】面试官问你Java中的异常,这篇就够了
  • 程序员在AI时代扮演着多重角色:不仅是AI技术的创造者,也是使用者,更是AIGC的贡献者
  • 快速生成单元测试
  • python实现3D立柱图demo
  • HCIA——one
  • 全球商旅新航标,中企出海就选用友BIP超级版
  • 想提升发明专利审查速度有哪些快捷方法?
  • 算法笔记(十五)——BFS 解决拓扑排序
  • 全流程TOUGH系列软件实践技术应用
  • 19.Mybatis映射文件mapper.xml之结果字段重命名、根据日期范围筛选、多表连接查询动态排序