当前位置: > 数据库 > MySQL >

MySQL5.7版本sql_mode=only_full_group_by问题解决办法

时间:2018-12-28 11:04来源:osyunwei.com 作者:IT

问题:

MySQL数据库迁移到MySQL5.7版本后,出现如下报错:

原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错。

解决办法:

1、打开MySQL数据库控制台

执行全局sql语句:

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

或者

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

如果只修改某一个数据库,请在该数据库下面执行:

sql_mode=

'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,

NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2、修改MySQL配置文件

Linux下my.cnf或Windows下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

添加完成后,重新启动MySQL服务,MySQL报错消失。

至此,MySQL5.7版本sql_mode=only_full_group_by问题解决。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容