2017-04-09 156 views
0

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

现在,我有时会收到错误:

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选项。

我该如何改变?

+0

http://stackoverflow.com/questions/31058210/how-to-set-amazon-rds-sql-mode-with-multiple-values –

+0

不要假设你的当前'@@ SQL_MODE'等于全局模式。 'SELECT @@ SESSION.sql_mode;'并进行比较。然而,错误是试图警告你,你写的查询不是确定性的,并且可能会给你一个意外的正确答案。 –

+0

我用'SELECT @@ SESSION.sql_mode;' – Oxholm

回答

0

我找到了修复程序。

我浏览了所有的视图,并在给出错误的列中添加了“ANY_VALUE()”。

我希望这可以帮助其他人在同一位置:)

+0

得到了相同的sql_mode我碰到了这个,然后我读了Group by的文档,并且意识到我不需要这些额外的列或者我实际需要的东西是其他。有可能禁用only_full_group_by:http://programmingisalifestyle.com/solve-only_full_group_by-issues-in-mysql-5-7/ – user3399858