SQL:在失败的更新

时间:2018-04-20 16:37:06

标签: mysql sql

我的问题:我的更新有多种条件:

UPDATE GAMES SET player2 = player2ID WHERE GAMES.id = gameId AND GAMES.player2 IS NULL;

通常情况下,当我使用单个条件运行更新时,我可以检查受影响的行数是否为0,并确切知道插入操作的确切原因,并且可以轻松地为用户提供适当的错误消息。

但是在多个条件下,只知道没有行受到影响是不够的。游戏已经完全或游戏不存在。

我如何找出未满足的条件?

2 个答案:

答案 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

如果这个陈述不是空的,那么就有一个玩家。