gpt4 book ai didi

python - Postgres 错误 “ERROR: INSERT has more target columns than expressions”

转载 作者:行者123 更新时间:2023-11-29 13:46:26 31 4
gpt4 key购买 nike

每当我运行此代码时,我都会收到一条错误消息,提示“错误 %s % e INSERT 的目标列多于表达式”,并在 fthg 下显示 ^。考虑到 fthg 已经定义,知道这里的问题是什么吗?非常感谢!

 cur.execute("CREATE TABLE IF NOT EXISTS soccerleague.games (gameId SERIAL PRIMARY KEY, homeTeamId INTEGER, FOREIGN KEY (homeTeamId) REFERENCES soccerleague.teams(id),awayTeamId INTEGER, FOREIGN KEY (awayTeamId) REFERENCES soccerleague.teams(id), fthg INTEGER, athg INTEGER, ftr VARCHAR, refereeId INTEGER, FOREIGN KEY (refereeId) REFERENCES soccerleague.referees(id), HY INTEGER, AY INTEGER)")

data3 = (teamsDict[homeTeam], teamsDict[awayTeam], fthg, athg, ftr, refereesDict[refereeName], hy, ay)
query3 = "INSERT INTO soccerleague.games (homeTeamId, awayTeamId, fthg, athg, ftr, refereeId, hy, ay) VALUES"
query3 += "('" + str(data3) + "', '" + x + "'),"
query3 = query3[:-1] + ";"

最佳答案

问题不在建表,而是在设置要插入的数据时。

query3 += "('" + str(data3) + "', '" + x + "'),"指示插入 data3 的内容首先,然后是x的内容总和为 2 个参数。插入语句 query3 = "INSERT INTO soccerleague.games (homeTeamId, awayTeamId, fthg, athg, ftr, refereeId, hy, ay) VALUES"引用 8 个参数。要解决此问题,请提供 8 个值(有些可能为空)或将插入语句缩减为仅包含 2 个第一个字段。

即使您设置了 data3 to 包含您想要的所有值,insert 语句将其写为单引号字符串,仅映射到第一个字段。

关于python - Postgres 错误 “ERROR: INSERT has more target columns than expressions”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47638644/

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