最近將mysql升級了,發現navicat中運行 sql語句報錯:
解決辦法見下文(轉載):
轉載於:http://m.mamicode.com/info-detail-2570625.html
之前一直使用的mysql5,突然換成8之后,有許多地方不一樣,今天就碰到一個。
在使用sql語句創建表時,報錯:
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 |
網上找了下處理的方法,大體有兩種:一種是直接改配置文件(永久性的),另一種是使用sql語句來設置(臨時性)
修改配置文件:在配置文件里加一句就可以了:sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
以上語句不要寫錯哦,錯了服務啟動不了,我就是因為寫錯搞了好久
windows的在安裝目錄里找到my.ini,添加進去后,關掉mysql服務重啟
關:net stop mysql
啟:net start mysql
(注意:mysql是你服務的名稱)
centos7在/etc/my.cnf中添加,重啟
service mysqld restart或者 systemctl restart mysqld
在window和centos7上,我都設置了,之后就不會報錯 ^_^
我在創建表時,報了這個錯,但還是創建成功了,不曉得是為甚 ?