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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM