cur.execute("""SELECT match_own_goals.game_id, home_team, away_team, team, time
FROM football.match_own_goals
JOIN football.match_info
ON match_own_goals.game_id = match_info.game_id""")
e = cur.fetchall()
for game in e:
print game
time = game[4]
print type(time)
if game[3] == 1:
team_id = game[1]
else:
team_id = game[2]
cur.execute("""UPDATE football.match_own_goals
SET team_id = %s
WHERE time = %s AND game_id = %s""", (team_id, time, game[0]))
db.commit()
これにより、行の約 10% が更新されましたが、その理由はわかりません。time は実際にはフロートです (時間を表すのではなく、サッカーの試合中の特定の時点 (87 分、54 分など) を表します)。
削除したときは問題なく機能したため、時間は間違いなく問題ですが、他のテーブルには本当に必要です。
私は何を間違っていますか?ありがとう