在执行sql语句的时候,别人电脑上可以跑,但是到了自己电脑上出现了问题,爆出:Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.t_long.user_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
的错误,翻阅大佬们的博客发现的解决方案,在此罗列解决办法,进入到自己的MySQL中,执行以下操作:
第一步:
mysql> 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';
第二步:
mysql> set session 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或者重启电脑后会发现还是错的,相同的错误
此时,找到MySQL安装的根目录,找到my.ini 在结尾出添加:
[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
,这样以后就可以正常使用group by 等语句了,原生SQL也可以执行了