mysql遇見'PROFILING.SEQ'異常

報錯如下:
[Err] 1055 - 'PROFILING.SEQ' isn't in GROUP BY

問題出現的原因: 
MySQL 5.7.5及以上功能依賴檢測功能。如果啓用了ONLY_FULL_GROUP_BY SQL模式(默認情況下),MySQL將拒絕選擇列表,HAVING條件或ORDER BY列表的查詢引用在GROUP BY子句中既未命名的非集合列,也不在功能上依賴於它們。(5.7.5之前,MySQL沒有檢測到功能依賴關係,默認情況下不啓用ONLY_FULL_GROUP_BY。有關5.7.5之前的行爲的說明,請參見“MySQL 5.6參考手冊”。)

解決方案:
select @@global.sql_mode
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); ##當前session變量生效

SET global sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); ##全局變量生效

 

以上錯誤在類MySQL數據庫上都可以適用,如:pg,gBase 等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章