division by zero_MySql版本问题sql_mode=only_full_group_by的完美解决方案

  • Post author:
  • Post category:mysql


MySql版本问题sql_mode=only_full_group_by的完美解决方案

·

第一种实现方式

1. 登录数据库

[root@localhost ~]# mysql -uroot -proot;

41f4f7de7887c86f7187b7098b902636.png

2. 查看sql_mode

mysql> select @@sql_mode;

9167213f963e09967504e0f135e7f02c.png

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’;

c614a505f47253e51d6e9b36b9905b45.png

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’;

8731d515d9664d24b7cac745194b2071.png

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

f37e9139f26478fa30b519d2e6d198d8.png