问题原因

mysql版本问题,高版本默认是带了ONLY_FULL_GROUP_BY模式

  • 可以通过命令查看:
select @@global.sql_mode;

可以看到第一个就是only_full_group_by,所以需要重新配置mysql

两种解决方法

  • 解决方案1 :(这种方式mysql重启失效,如果有必要还是要通过第二种方式),mysql执行以下代码, 重要:执行之后要重启项目,否则还是会报错
set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  • 解决方案2:修改配置文件,在mysql配置文件的最后加一句: 记得重启项目
    [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

Q.E.D.