在使用查询时,使用到了group by 分组查询,报如下错误:

ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'test.fruits.s_id'; this is incompatible with sql_mode=only_full_group_by

报这个错是由于sql_mode 使用了ONLY_FULL_GROUP_BY

解决办法:

1、执行SET GLOBAL sql_mode = ''; 把sql_mode 改成非only_full_group_by模式。验证是否生效 SELECT @@GLOBAL.sql_mode 或 SELECT @@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'; #这种方式只对当前会话有效。
2、如果想要全局生效,需要修改my.cnf配置文件在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'

 

相关文章:

  • 2021-07-04
  • 2022-03-03
  • 2021-11-20
  • 2021-07-13
  • 2021-06-30
  • 2021-09-15
猜你喜欢
  • 2021-10-29
  • 2022-02-06
  • 2021-10-21
相关资源
相似解决方案