目录
前言
mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。
错误提示:this is incompatible with sql_mode=only_full_group_by
1.查询数据库版本:
SELECT VERSION();
2.查看sql_mode的语句:
select @@GLOBAL.sql_mode;
3.临时解决方案:
去掉ONLY_FULL_GROUP_BY,重新设置值。
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
4.永久解决方案:
Linux下修改mysql的my.cnf配置文件
vi /etc/my.cnf
找到my.cnf中的[mysqld]在下面增加:
5重启数据库
service mysql restart