如何在 MySQL 中启用 ONLY_FULL_GROUP_BY

BDe*_*esh 5 mysql group-by mariadb

我已ONLY_FULL_GROUP_BY通过使用禁用SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));。现在我想恢复默认设置。

是否可以ONLY_FULL_GROUP_BY再次在 MySQL 中启用?

提前致谢

小智 8

为避免其他配置出现问题,请使用 CONCAT:

SET GLOBAL sql_mode=(SELECT CONCAT(@@sql_mode, ',ONLY_FULL_GROUP_BY'));
Run Code Online (Sandbox Code Playgroud)


Eme*_*bah 5

如果您使用 Laravel,您可以在运行时执行此操作,而不是进行全局设置

//disable ONLY_FULL_GROUP_BY
DB::statement("SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));");

//Your SQL goes here - The one throwing the error (:

//re-able ONLY_FULL_GROUP_BY
DB::statement("SET sql_mode=(SELECT CONCAT(@@sql_mode, ',ONLY_FULL_GROUP_BY'));");
Run Code Online (Sandbox Code Playgroud)