MySql版本问题sql_mode=only_full_group_by,无法使用groupby语句修复

建议直接查看原文, 本文只做记录
https://blog.csdn.net/u011893509/article/details/87896806
MySql版本问题sql_mode=only_full_group_by
 查看sql_mode
select @@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
 1
 在查出结果中可以看到里面包含了ONLY_FULL_GROUP_BY,因此我们要讲ONLY_FULL_GROUP_BY从中去掉,重新设置值。
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";
 1
 上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行
set sql_mode ="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
 1
 修改配置文件去除ONLY_FULL_GROUP_BY这种方式是我个人比较喜欢的.
 打开配置文件mysql.cnf
sudo vi /etc/mysql/mysql.cnf
 1
 添加配置
sql_mode ="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
 1
 重启mysql
sudo service mysql restart
 1
 进入mysql查看:
SELECT @@sql_mode;
 1
 Windows
 在Windows修改mysql安装目录下面配置未见 my.ini,在文件中添加
[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
 1
 2
以上是 MySql版本问题sql_mode=only_full_group_by,无法使用groupby语句修复 的全部内容, 来源链接: utcz.com/z/511737.html


