Mysql8.0及以上报错only_full_group_by的原因和解决方案
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍"Mysql8.0及以上报错only_full_group_by的原因和解决方案",在日常操作中,相信很多人在Mysql8.0及以上报错only_full_group_by的原因和解决
千家信息网最后更新 2025年12月03日Mysql8.0及以上报错only_full_group_by的原因和解决方案
这篇文章主要介绍"Mysql8.0及以上报错only_full_group_by的原因和解决方案",在日常操作中,相信很多人在Mysql8.0及以上报错only_full_group_by的原因和解决方案问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mysql8.0及以上报错only_full_group_by的原因和解决方案"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
今天发现mysql8 关于only_full_group_by的问题,旧代码的查询group by 函数时会出现一个报错信息
ERROR 1055 (42000): Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'postscan.verifyDelayLog.auditor' which is not functionally dependent on columns in GROUP BY clause; this is incompatible withsql_mode=only_full_group_by
查了资料,对于 group by 的这种聚合操作,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()的这种聚合函数,才能完成GROUP BY 的聚合操作 兼容方法:
sql修改
输入:SELECT @@GLOBAL.sql_mode; 结果: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 然后我们来修改sql_mode set GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
这个修改再重启之后就失效
修改my.cnf
附sql_mode常用值如下:
ONLY_FULL_GROUP_BY:对于GROUP BY聚合操作,如果在 SELECT 中的列,没有在 GROUP BY 中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。 NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户 希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。 STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制 NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零 NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。 ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户 NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常 PIPES_AS_CONCAT:将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似 ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符
到此,关于"Mysql8.0及以上报错only_full_group_by的原因和解决方案"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数据
原因
方案
解决方案
学习
函数
字符
字符串
数据库
日期
模式
错误
增长
事务
从句
引擎
方法
更多
用户
资料
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学校明确承担网络安全工作的机构
兰州北龙口服务器
sql数据库哪本书好
精伦电子 网络安全
execel 建立数据库
梁溪区智能软件开发市场价格
内网构建服务器
文件服务器转移
手机银行绑卡数据库中无数据
服务器验证怎么关闭
青海双树网络技术有限公司
如何用代码创建数据库
5G网络安全隐患
贵州pdu服务器电源厂家定制
服务器卡住
如何设置数据库用户重复密码
resin 数据库配置
日本光电心电数据库名称
手机网络安全性低连不上
同时启用两个移动数据库
网络安全证书的使用场景
宿舍楼网络安全方案设计
浦东新区营销软件开发收费套餐
我的世界rpg服务器IP端口
关于网络安全的广播稿子
香港网络安全共享平台
数据库操作日志功能
数据库端口不允许访问
数据库技术操作题
银川mes软件开发