![个人头像照片](https://ucc.alicdn.com/avatar/avatar3.jpg)
暂无个人介绍
Hi 首先 phpmyadmin 报的错误是透传 mysql 给的错误码,按照这个错误码去查找问题就可以了。
其次,mysql 的 1055 错误码的意思是:SELECT 的字段里,不可包含除了 GROUP BY 字段、聚集函数字段以外的字段。在你的例子里,由于用到了GROUP BY BINARY s.SCHEMA_NAME
,那么 SELECT 里的 s.SCHEMA_NAME (是的,mysql 认为他们不是同一个字段) 和 DEFAULT_COLLATION_NAME 就很碍眼。
所以解决方案:
SELECT s.SCHEMA_NAME, MAX(s.DEFAULT_COLLATION_NAME)
FROM `information_schema`.SCHEMATA as s
GROUP BY s.SCHEMA_NAME
ORDER BY `SCHEMA_NAME` ASC;
或将所有 SELECT 涉及字段放在 GROUP BY 中
SELECT s.SCHEMA_NAME, s.DEFAULT_COLLATION_NAME
FROM `information_schema`.SCHEMATA as s
GROUP BY s.SCHEMA_NAME, s.DEFAULT_COLLATION_NAME
ORDER BY `SCHEMA_NAME` ASC;
或移除 only_full_group_by 的限制,不需要改你的代码,参见:https://stackoverflow.com/questions/23921117/disable-only-full-group-by