[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
很普通的一个插入语句,都会出现这个错误,但是能成功插入。
经过长查找,发现还是因为5.7以上的新特性。MYSQL里面执行这句话就好了
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
其实上面的那个方法治标不治本啊,重启又不行了,,还是要从配置文件入手啊。。
- 改动my.ini文件(WIndows下) my.conf(LInux下)
- sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 如配置文件中没有这个就再mysql 中执行
- mysql> select @@sql_mode ;
+——————————————————————————————————————————————-+
| @@sql_mode |
+——————————————————————————————————————————————-+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+——————————————————————————————————————————————-+
1 row in set (0.00 sec)
返回的值中 把”ONLY_FULL_GROUP_BY,”删掉,给sql_mode赋值 - 重启Mysql