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