同事在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