MySQL在5.7及以上版本中的ONLY_FULL_GROUP_BY问题处理方案
MySQL升级到5.7或者更高的版本时,一些以前GroupBy的操作出现语法报错的情况:
this is incompatible with sql_mode=only_full_group_by
在这个模式下,我们使用分组查询时,出现在select字段后面的只能是group by
后面的分组字段,或使用聚合函数包裹着的字段。
关掉这个模式的方法
set @@GLOBAL.sql_mode='';
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
或者改my.ini 配置 在 [mysqld]和[mysql]下添加
sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';