记录MySQL报错:[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY clause and contains no…

325次阅读
没有评论

共计 930 个字符,预计需要花费 3 分钟才能阅读完成。

MySQL报错:[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

在SQL_mode中开启了 only_full_group_by 模式。
only_full_group_by的作用:使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行

修改SQL语句,在group by子句中将需要select的列都写上

将SQL_mode中的only_full_group_by 删除。

  1. 查看SQL_mode

    select @@global.sql_mode
    默认的值为ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

  2. 修改SQL_mode

    set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

修改ini配置文件。

  1. 在根目录下找到my.ini文件。在[mysqld]下添加以下配置信息:

    sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

  2. 保存ini文件。
  3. 重启MySQL服务。
正文完
 
裴先生
版权声明:本站原创文章,由 裴先生 2022-04-30发表,共计930字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
本站勉强运行: