MySQL错误之ONLY_FULL_GROUP_BY

报错信息:

翻译:

对该报错的解释

所以,实际上该报错是由于在SQL查询语句中有group by,而这个包含group by的SQL查询写的并不规范导致的,这个ONLY_FULL_GROUP_BY模式开启之后检查就会很严格,如果select列表中包含非聚合列或者包含不在group by后面的列的时候,又开启了该模式,就会报错。

解决方案

  1. 写规范
  2. 临时关闭该模式
    打开MySQL客户端直接输入以下命令:
sql 复制代码
set @@GLOBAL.sql_mode='';
set 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. 永久关闭该模式
    在/etc/mysql/mysql.conf.d/mysqld.cnf 文件添加以下内容,来永久关闭
sql 复制代码
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
相关推荐
RestCloud2 小时前
MySQL分库分表迁移:ETL平台如何实现数据合并与聚合
mysql·api
老纪的技术唠嗑局2 小时前
经验分享 —— 在 Ubuntu 虚拟机中部署 OceanBase 数据库
数据库·ubuntu
咖啡Beans3 小时前
MySQL中使用@符号定义用户变量
数据库·mysql
知其然亦知其所以然4 小时前
MySQL 社招必考题:如何优化特定类型的查询语句?
后端·mysql·面试
GreatSQL7 小时前
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
数据库
粘豆煮包7 小时前
掀起你的盖头来之《数据库揭秘》-3-SQL 核心技能速成笔记-查询、过滤、排序、分组等
后端·mysql
expect7g8 小时前
COW、MOR、MOW
大数据·数据库·后端
DemonAvenger9 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
程序新视界21 小时前
MySQL中什么是回表查询,如何避免和优化?
mysql
薛定谔的算法1 天前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端