mysql异常ERROR 1055 (42000)说明
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,具体异常信息如下:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains non
千家信息网最后更新 2025年02月09日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安全错误
数据库的锁怎样保障安全
河南配件管理软件开发公司
管理端时间和服务器时间校对
网易我的世界模组导入服务器
山西it软件开发报价
做软件开发外包累吗
无线路由器的dhcp服务器
腾讯云服务器是不是免备案
徐州网络安全认证流程有哪些
网络安全顺口溜手抄报内容
h网络安全法是那一年
全国网络安全小组学习测试卷
考网络安全技术需要多少分
浙江雄司软件开发有限公司
神武4手游服务器合并
关系数据库中基本表的一行称为
mysql数据库打开步骤
机架式服务器自己可以组装吗
杨浦区软件开发靠谱吗
网络安全人才培养高峰论坛
国家网络安全受到侵害的事件
为什么数据库dg同步延迟不高
网络安全周2020年简报
徐州网络安全认证流程有哪些
嘉定区特定软件开发服务结构设计
思科存储网络技术
无线网络技术包含哪些技术
广州软件开发有哪些学校
黄鑫 网络安全
网络安全报考的是什么科
服务器禁用usb