展开全部
错误代码1055。不过看了Expression里面的原因描述,我基本知道怎么回事了。原因是因为62616964757a686964616fe59b9ee7ad9431333431373139mysql中对 group by 用法的规定。严格意义上说,就是group by之后。select 的字段只能是group by的字段。或者需要加聚合函数的。在 oracle 中,一直有这项约定。所以直接就会报错。但是mysql 直到 5.7 版本之后才把这个要求明确限制起来。
很明显,这种问题两种思路:第一修改sql。按照规定的规范重写项目中所有有问题的sql。很明显代价太大。风险很高;第二种那就是把这种限制去掉,让功能继续像5.7之前的样子一样能跑。我果断选择了第二种。因为第一种代价太大。
解决办法:
1. 首先如何查看当前数据库使用的sql_mode:
select @@sql_mode;
2. 修改mysql的配置文件,删掉only_full_group_by这一项
注意:Mac:Mysql默认安装在/usr/local目录下,这个目录可以通过command+shift+G进入:如下图