itlaoli

mysql-8.0.18-winx64 报错 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

1、查看sql_mode的值

使用命令

1 select @@sql_mode;
View Code

 

或者
1 show variables like 'sql_mode';
View Code

 

可以查看到sql_mode的值为:

1  ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
View Code

 

可以发现sql_mode里面有个值为ONLY_FULL_GROUP_BY

就是这个值报错的

2.修改sql_mode的值

1 SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
View Code

再修改一下全局的:
这个对于以后新建的数据库都起作用

1 SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
View Code

 然后再执行sql就没问题了,要是不嫌麻烦的话,就去把sql修改一下,修改成和异常提示要求一致的格式

 
 
posted @ 2018-03-06 15:24  竹--石  阅读(366)  评论(0编辑  收藏  举报