我正在使用mysql存储库中最近安装的mysql,安装在Ubuntu14.04上。我运行的每一个查询都会导致下面的错误,并且我无法通过google或这里找到任何讨论这个问题的内容。
例如,此查询(显然仅为演示目的)返回以下内容:
来自tabcLocations的SQLSELECT *
受影响的行:0次: 0.705s
Err 1055 - ORDER子句的表达式#1不是按子句分组,而是包含非聚合列'information_schema.PROFILING.SEQ‘,它在功能上不依赖于按子句分组的列;这与sql_mode=only_full_group_by不兼容。
它可以很好地返回查询的结果,但是对每个查询都会抛出一个错误,这显然会影响我的应用程序中的错误处理。对于如何解决这个问题,有什么建议吗?现在还挺令人恼火的。
发布于 2016-07-15 18:00:33
在您的sql-mode="" (linux)或my.ini (win)中插入一行,然后重新启动MySQL服务器。
从MySQL 5.7.5开始,默认的SQL模式包括ONLY_FULL_GROUP_BY。(在5.7.5之前,MySQL不检测函数依赖,默认情况下不启用ONLY_FULL_GROUP_BY。
发布于 2016-01-30 17:52:51
您是否碰巧删除了information_schema或mysql数据库?这两个数据库/文件不应该被删除,否则您的数据库就不能正常工作。
发布于 2022-07-13 11:12:03
你的Mysql客户端是不是导航?有些旧版本的navicat将在sql之后发送default.The分析sql,如下所示
SELECT STATE , ROUND(SUM(DURATION),7) , CONCAT(ROUND(SUM(DURATION)/0.000846*100,3), '%')
FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID=39 GROUP BY STATE ORDER BY SEQ但是此sql对sql 92无效,因此可以考虑关闭navicat的默认行为。
https://stackoverflow.com/questions/34999289
复制相似问题