【问题标题】:Amazon RDS MySQL only_full_group_byAmazon RDS MySQL only_full_group_by
【发布时间】:2017-04-09 21:48:35
【问题描述】:

我最近在 RDS 上从 v5.6 升级到 MySQL v5.7。

现在我有时会收到错误:

 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'USER.t.training_team_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

我用 SELECT @@GLOBAL.sql_mode 检查了我的配置,只得到:

 NO_ENGINE_SUBSTITUTION

但是这仍然会发生。

奇怪的是,它只是偶尔发生。我无法强迫它发生,我似乎无法禁用 only_full_group_by 选项。

如何更改?

【问题讨论】:

  • 不要假设您当前的@@SQL_MODE 等于全局模式。 SELECT @@SESSION.sql_mode; 并进行比较。但是,该错误试图警告您,所写的查询不是确定性的,并且可能会意外地为您提供正确的答案。
  • 我得到与SELECT @@SESSION.sql_mode;相同的sql_mode

标签: mysql amazon-web-services rds


【解决方案1】:

我找到了解决办法。

我浏览了所有视图并将“ANY_VALUE()”添加到出现错误的列中。

我希望这对处于相同位置的其他人有所帮助:)

【讨论】:

  • 我也遇到了这个问题,然后我阅读了 Group by 的文档并意识到我不需要那些额外的列,或者我真正需要的是别的东西。有可能禁用 only_full_group_by:programmingisalifestyle.com/…
猜你喜欢
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
相关资源
最近更新 更多