MySQL 5.7.5以后默认开启了sql_mode的ONLY_FULL_GROUP_BY
我使用了mysql:5.7.15作为mysql容器的镜像,
所以之前写的一些,本来是好的,带group的sql出现了一些问题。
登录mysql
前提是你要安装mysql-client哦,
1 | mysql -h 127.0.0.1 -P 3308 -u root -p xxxxx |
查看当前sql
1 | mysql> select @@sql_mode; |
显示:
1 | mysql> select @@sql_mode; |
进入mysql容器命令行
1 | docker exec -it <Docker容器 ID或Name> /bin/bash |
修改sql_mode
mysql:5.7.15容器中mysqld的配置文件是放在:/etc/mysql/mysql.conf.d/mysqld.cnf,把去掉ONLY_FULL_GROUP_BY
的sql_mode追加到此配置中
1 | echo "sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION">>/etc/mysql/mysql.conf.d/mysqld.cnf |
重启mysql容器
1 | docker restart <Docker容器 ID或Name> |