当前位置:   article > 正文

MySQL 报错 [Err] 1055 ... this is incompatible with sql_mode=only_full_group_by

MySQL 报错 [Err] 1055 ... this is incompatible with sql_mode=only_full_group_by

问题描述

升级 MySQL 的版本为 8.0.12 后,出现了问题。

创建数据表,或执行更新操作时,报错 [Err] 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 clause; this is incompatible with sql_mode=only_full_group_by

解决方法

首先,查看系统变量 sql_mode 的值。

SELECT @@sql_mode;

得到的结果为:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

其次,得到我们想要的 sql_mode 的新值。

  1. # 去掉前面的 "ONLY_FULL_GROUP_BY,"
  2. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

然后,修改 MySQL 的配置文件。在 [mysqld] 区块下添加 sql_mode 配置项。

[mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

最后,重启 MySQL 即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/899602
推荐阅读
相关标签
  

闽ICP备14008679号