我的问题:我的更新有多种条件:
UPDATE GAMES
SET player2 = player2ID
WHERE GAMES.id = gameId
AND GAMES.player2 IS NULL;
通常情况下,当我使用单个条件运行更新时,我可以检查受影响的行数是否为0,并确切知道插入操作的确切原因,并且可以轻松地为用户提供适当的错误消息。
但是在多个条件下,只知道没有行受到影响是不够的。游戏已经完全或游戏不存在。
我如何找出未满足的条件?
答案 0 :(得分:0)
INSERT INTO GAMES
VALUES(player2ID)
WHERE GAMES.id = gameId
AND GAMES.player2 IS NULL;
答案 1 :(得分:0)
您可以在INSERT之前使用SELECT来检查您需要的内容
SELECT id, player2 FROM GAMES where id=gameId Or
如果我理解你,你需要这个
SELECT player2 FROM GAMES where id=gameId
如果这个陈述不是空的,那么就有一个玩家。