mysql升级后查询时出现这个错误,这个错误出现是在5.7版本以后,分组查询时group by 后面的分组字段也要出现在select后面,否则就会报错。
把mysql的配置文件中修改下模式
windos的配置文件是安装目录下的my.ini
linux下是/etc/my.cnf
mysql8.0以上在配置文件[mydqld]后面修改
[mysqld]
sql_mode ='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
mysql8.0以下的版本
[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'
也可以使用命令临时修改
查看 select @@GLOBAL.sql_mode
修改 set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'
重启mysql后会失效