MySql版本问题sql_mode=only_full_group_by的完美解决方案
· 第一种实现方式
1. 登录数据库
[[email protected] ~]# mysql -uroot -proot;
2. 查看sql_mode
mysql> select @@sql_mode;
3. 去掉ONLY_FULL_GROUP_BY,重新设置值。
mysql> 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';
4. 更新已存在的数据库sql_mode
mysql> 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';
5. 退出重启mysql
· 第二种实现方式
1. 修改配置文件my.cnf
vi /etc/my.cnf
[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