当数据库中的字段符合两个条件时,我需要更新该字段
下面是我的代码
这是一个对于 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)
但是这个给出了语法错误
请告诉我哪里做错了
最佳答案
我认为第一个 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)
关于mysql - 在 WHERE 中使用多个值进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179859/