mysql 客户端执行:
SHOW SESSION VARIABLES;
和
SHOW GLOBAL VARIABLES;
结果看到
错误原因就是这里:only_full_group_by,MYSQL要求select的列都要在group条件里面;
解决方法:
注意:先执行session的修改,再执行global的修改
分别执行
步骤1:
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'
步骤2:
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'
修改完成后,再查看
SELECT @@global.sql_mode;
结果:
最后,重启服务,再进行查询调用,生效
【未重启mysql服务,重启了spring boot服务,再调用就可以正常执行,PS:这仅仅是临时处理方式,更优的方式是改sql语句/或者修改MYSQL配置文件的方式】