MySQL5.7 sql_mode=only_full_group_by

前言

前段时间,把自己的环境升级了一遍,PHP 升级到了7,MySQL 升级到了5.7,突然就在前两天我想用 group 的时候,差点哭了。

报错

which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

网上找了不少解决方案,基本都是修改 sql_model

SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

然而,我并没有成功...

解决

最终通过修改 MySQLconfig 解决了这个问题:

# my.cnf
[mysqld-5.7]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

修改完成后,重启 MySQL

sudo service mysql restart

你可能感兴趣的:(MySQL5.7 sql_mode=only_full_group_by)