当符合这两个条件时,我需要更新数据库中的字段
以下是我的代码
这是一个适用于WHERE
条件
query2 = "UPDATE Game_mygame
SET game_played = "+str(set_game_played)+"
WHERE home_teamID = "+str(i.home_teamID)
但我需要匹配WHERE
中的两个值,我正在尝试以下
query2 = "UPDATE Game_mygame
SET game_played = "+str(set_game_played)+"
WHERE home_teamID = "+str(i.home_teamID)+
"AND away_teamID = "+str(i.away_teamID)
但是这个给出了语法错误
请建议我在哪里做错了
答案 0 :(得分:2)
我认为首先WHERE
条件和AND
之间没有空格。因此,它会使您的查询像WHERE home_teamID=xyzAND
而不是WHERE home_teamID=xyz AND
。所以你需要在AND
之前给出一个额外的空格(与WHERE
之前给出的相同)
query2 = "UPDATE Game_mygame
SET game_played = "+str(set_game_played)+
" WHERE home_teamID = "+str(i.home_teamID)+
"AND away_teamID = "+str(i.away_teamID)
---^^--- Space is missing here
所以试试这个:
query2 = "UPDATE Game_mygame
SET game_played = "+str(set_game_played)+
" WHERE home_teamID = "+str(i.home_teamID)+
" AND away_teamID = "+str(i.away_teamID)
答案 1 :(得分:1)
与.
类似
query2 = "UPDATE Game_mygame
SET game_played = ".str(set_game_played)."
WHERE home_teamID = '". str(i.home_teamID) ."'
AND away_teamID = '".str(i.away_teamID)."'";
并且 @Preet Sangha 表示我们可以使用没有引号的ID,如
query2 = "UPDATE Game_mygame
SET game_played = ".str(set_game_played)."
WHERE home_teamID = ". str(i.home_teamID) ."
AND away_teamID = ".str(i.away_teamID);