java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contain
java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column…近日在docker安装mysql 8.0之后出的异常,MySQL 5.7.5 及以上功能依赖检测功能,而我使用的mysql是8.0版本。如果启用了ONLY
java.sql.SQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column…
近日在docker安装mysql 8.0之后出的异常,MySQL 5.7.5 及以上功能依赖检测功能,而我使用的mysql是8.0版本。如果启用了ONLY_FULL_GROUP_BY SQL 模式(默认情况下),MySQL将拒绝选择列表,HAVING 条件或 ORDER BY 列表的查询引用在 GROUP BY 子句中既未命名的非集合列,也不在功能上依赖于它们。
解决办法:
先进入mysql容器
docker exec -it mysql bash
进入容器之后切换到mysql 配置文件的目录
cd /etc/mysql
vim my.cnf
此时需要安装一下vim
apt-get update
apt-get install vim
编辑my.cnf发现不能复制粘贴,手写太费劲了,于是
vim /usr/share/vim/vim81/defaults.vim
第70行
在mouse=a的=前面加个-
如下:
if has(‘mouse’)
set mouse-=a
endif
最后在my.cnf加一行
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
注意:mysql8不能包NO_AUTO_CREATE_USER,sql_mode中不能包含这个。
去掉NO_AUTO_CREATE_USER
更多推荐



所有评论(0)