环境: MySQL 5.7,CentOS 7.8-2003
一、问题
使用navicat11.1连接MySQL 5.7.x数据库,执行update语句时报了一个错误
[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
以前从来没有遇见过,现在记录一下解决过程。
二、解决
耐心较差,直接说解决办法吧;想看原因,请看后面的《三》。
主要有两种:
1、升级到navicat12及以上版本,首选方式。
经验证,升级到11.2.x也可以解决该问题。
2、把MySQL 5.7.x在sql_mode上新增的ONLY_FULL_GROUP_BY去掉——不建议使用
ONLY_FULL_GROUP_BY为新的SQL编写规范的特性,也是写SQL语句时的普遍规范写法。
这也是,网上其它文章解决1055错误,采用的普遍方式;原因都没搞明白,瞎JB改一通。
用sq