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;
或者
1 show variables like 'sql_mode';
可以查看到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
可以发现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';
再修改一下全局的:
这个对于以后新建的数据库都起作用
1 SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
然后再执行sql就没问题了,要是不嫌麻烦的话,就去把sql修改一下,修改成和异常提示要求一致的格式