2017-10-06 64 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