Sql优化过程中遇到Sql执行错误:
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘advanced.dept.deptno’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
问题出现原因:
在5.7以上的版本实现了对功能依赖的检测,MySql默认启用了only_full_group_by SQL模式,
对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,除非这个字段出现在聚合函数里面。
但个人由于没有必要使用聚合函数,所以,做了取消检测。
网上有很多处理的办法,但是操作还是复杂了,下面列出快速解决问题:
先如今云服务器,云数据库越来越多,当你用云服务器时,不过过多的去配置mysql参数,然后又报权限问题、还得找密码、手动重启mysql。下图一招直击要害
原文地址:https://www.cnblogs.com/pcxx/p/11085616.html
时间: 2024-11-29 13:02:54