gpt4 book ai didi

mysql - 错误代码: 1055 incompatible with sql_mode=only_full_group_by

转载 作者:行者123 更新时间:2023-11-29 16:09:13 24 4
gpt4 key购买 nike

我在切换到 Lahman SQL 棒球数据库的离线版本时遇到问题。我正在使用嵌入 EDX 类(class)的终端。此命令在 Web 终端上运行良好:

SELECT concat(m.nameFirst,concat(" ",m.nameLast)) as Player,
p.IPOuts/3 as IP,
p.W,p.L,p.H,p.BB,p.ER,p.SV,p.SO as K,
p.IPOuts+p.W*5+p.SV+p.SO-p.BB-p.L-p.H as PTS,
p.yearID as Year
FROM Pitching p
Inner Join Master m
ON p.playerID=m.playerID
WHERE p.yearID=2014 AND p.IPOuts>=50
GROUP BY m.playerID
ORDER BY PTS DESC;

它正在运行 SQL 5.5.46,但是当我使用运行 5.7.10 的离线版本时,我收到以下错误代码:

Error Code: 1055. Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'stats.m.nameFirst' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

我已经阅读了很多解决人们问题的解决方案,但它们在这种情况下没有帮助。这以前从未发生过,所以我认为这要么是非常明显的,要么是我在编码方面做得很好。无论如何,有人知道如何解决这个问题吗?

最佳答案

在 5.7 中,sqlmode 默认设置为:

 ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

要删除 ONLY_FULL_GROUP_BY 子句,您可以执行以下操作:

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

这假设您需要使用非聚合列进行 GROUP BY。

问候

关于mysql - 错误代码: 1055 incompatible with sql_mode=only_full_group_by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55431335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com