mysql异常ERROR 1055 (42000)说明
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,具体异常信息如下:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains non
千家信息网最后更新 2025年11月13日mysql异常ERROR 1055 (42000)说明
具体异常信息如下:
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'aaa.test.age' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
执行这样的SQL语句可重现异常 select age, name from test group by name
mysql5.1,不报异常
mysql5.5,不报异常
mysql5.6,不报异常
mysql5.7.22,报异常(具体从5.7哪个版本开始还没有确定下来,网上有人说5.7.5)
mysql从5.7的某个版本开始调整了默认参数sql_mode值为:
mysql> show variables like 'sql_mode';+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| Variable_name | Value |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+| 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 |+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)mysql>
其中ONLY_FULL_GROUP_BY就是影响了上面SQL语句是否报异常
解决方法:
1、改写SQL语句,毕竟上面的写法不是标准的SQL语句
2、登陆mysql服务器,执行以下命令,在global与session级都修改
mysql> set global 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> set session 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、结合第2种方法,在my.cnf文件中,指定sql_mode的值:
[mysqld]sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
注:2与3结合可不用重启服务器,且即使重启配置也依然有效。
语句
方法
服务器
版本
服务
有效
不用
信息
写法
参数
命令
就是
文件
标准
面的
影响
登陆
调整
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
lga1366服务器
软件开发外包管理怎么做
cdn服务器怎么重启
java数据库url地址
数据库中kno是啥意思
浙江易数网络技术有限公司
四川绵阳哪里学软件开发
统筹规划 网络安全
网络安全工程师很难吗
京科网络技术有限公司官网
深圳市盛烽网络技术
对标技术数据库
软件开发项目阶段检查记录
传奇服务器清理开区数据库
汉王数据库怎么清除管理员
diy微信服务器
初中生学习网络安全专业
服务器链接稳定吗
软件开发计划438b
国产服务器支持虚拟化吗
cdn服务器怎么重启
天津常见软件开发制造价格
架设网站服务器
数据库id回复
松江区多点控制视频系统服务器
矫捷山东网络技术有限公司
华山论剑网络安全大会门票
供销社网络安全考核
辽宁交通网络技术好考吗
花亦山服务器是否互通