mysql5.7 徹底解決sql_mode=only_full_group_by


ONLY_FULL_GROUP_BY是mysql默認的一種sql模式,其作用是約束sql語句:要求select中的所有字段,除復合函數外,全部要出現在group by中。


默認這種模式是有原因的,因為濫用gourp by可能會得到錯誤的結果,但是這里不做討論。
那么如何禁用這種模式呢,執行以下命令:

 

$ # 查看sql_mode配置
$ mysql> select @@sql_mode

要想永久禁用,將sql_mode寫入 /etc/mysql/mysql.conf.d  下的 mysqld.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

systemctl restart mysql


免責聲明!

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



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