Mysql5.7版本ERROR 1055問題


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。下圖一招直擊要害

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM