[mysql8 報錯] 關閉ONLY_FULL_GROUP_BY


bug原因:

對於GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那么這個SQL是不合法的,因為列不在GROUP BY從句中。簡而言之,就是SELECT后面接的列必須被GROUP BY后面接的列所包含。

如:
select a,b from table group by a,b,c; (正確)
select a,b,c from table group by a,b; (錯誤)
這個配置會使得GROUP BY語句環境變得十分狹窄,所以一般都不加這個配置。

 

解決方法:去掉 ONLY_FULL_GROUP_BY,重新設置值。最后重啟。

1 set @@sql_mode 
2 ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

 

 

 

參考


免責聲明!

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



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