Sql優化過程中遇到Sql執行錯誤:
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘advanced.dept.deptno’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
問題出現原因:
在5.7以上的版本實現了對功能依賴的檢測,MySql默認啟用了only_full_group_by SQL模式,
對於GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那么這個SQL是不合法的,除非這個字段出現在聚合函數里面。
但個人由於沒有必要使用聚合函數,所以,做了取消檢測。
網上有很多處理的辦法,但是操作還是復雜了,下面列出快速解決問題:
先如今雲服務器,雲數據庫越來越多,當你用雲服務器時,不過過多的去配置mysql參數,然后又報權限問題、還得找密碼、手動重啟mysql。下圖一招直擊要害