mysql-groupby报错
mysql groupBy问题
1 | ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxx' which is not |
解决办法一
查询 sql_mode
1
select @@global.sql_mode;
结果如下
1
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
只需要将上面的
ONLY_FULL_GROUP_BY
去掉就行使用如下语句
1
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';
这种方法存在的问题
- 在有些时候不生效
- mysql重启之后配置失效
解决办法二
打开 mysql
配置文件 my.cnf
,在最下面添加
1 | [mysqld] |
使用这种方法会永久解决上面的报错问题
P.S. 如果 mysql
使用的是 docker
在进入容器内部
1 | docker exec -it my-mysql /bin/bash |
之后可能出现没有 vi/vim
工具导致无法修改配置文件
在此情况下首先执行
1 | apt-get update |
然后安装 vim
1 | apt-get install vim |
mysql-groupby报错
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.