MySQL Err 1055的解决

同事在5.7.14的mysql上创建的表,需要在服务器上同步,但是小版本变成了5.7.17(不知道与版本有没有关系)

在Navicat里执行创建表的sql命令时,报错Err 1055

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

 

一开始按照网上搜到的,找mysql的配置文件,my.cnf,但是我在windows系统里只找到my.ini文件

这里提一下找my.ini文件可以通过服务里找到mysql服务,转到详细信息再进到文件所在位置就行

发现配置文件里的sql-mode并没有only_full_group_by,按照网上说的

改成sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启了服务但是新建表还是报原来的错误。

 

再搜索尝试新的方法,

 

sql查询select @@global.sql_mode

发现ONLY_FULL_GROUP_BY这个东西是存在的

然后执行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

 

成功!都不用重启服务

在这里谢谢 http://blog.csdn.net/u012919352/article/details/53944560

posted @ 2017-08-04 15:07  balladc  阅读(2555)  评论(0编辑  收藏  举报