2017-10-06 66 views
1

我有一个AJAX GET请求应返回到我的类别列表中,但我有一个SQL错误SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column苏禄CMS GET请求错误

我的请求URL旁边:http://my-domain.com/admin/api/categories?flat=true&sortBy=depth&sortOrder=asc&fields=name,id

是什么解决这个问题的最好方法是什么?我应该更改mysql .cnf文件还是可以在代码中修复它?

+0

一般GROUP BY规则说:“如果指定了GROUP BY子句,在SELECT列表中的每个列引用必须明确指出的一个分组列或者是一个集合函数的参数。“ – jarlh

+0

是的,但在供应商中生成sql-query,所以我无法更改供应商代码。这就是为什么我问这个问题在苏禄的最佳解决方案 –

+1

MySQL有一个兼容模式允许那些无效的GROUP BY的。也许你可以设置它? – jarlh

回答

1

好的,问题出在MySQL兼容性上。

所以,我刚刚加入以下行更改mysql.cnf文件: [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