mysql - SQL:区分更新失败的多个条件

标签 mysql sql

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

更新游戏 SET 玩家2 = 玩家2ID WHERE GAMES.id = 游戏 ID AND GAMES.player2 为空;

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

但是,对于多个条件,仅知道没有行受到影响是不够的。要么游戏已经满了,要么游戏不存在。

我如何找出哪个条件没有得到满足?

最佳答案

您可以在 INSERT 之前使用 SELECT 来检查您需要什么

SELECT id, player2 FROM GAMES where id=gameId Or

如果我理解正确,你需要这个

SELECT player2 FROM GAMES where id=gameId

如果这个语句不为空,那么就有一个player2。

关于mysql - SQL:区分更新失败的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946151/

相关文章:

MySql 错误代码 : 1005 Can't create table errno: 150

mysql - 如何使用mysql上最有效的方法生成最后一个表?

php - 尝试安装 Bright Game Panel (PHP/Apache)

mysql - MYSQL查询可以有多个条件吗?

PHP 更新用户帐户详细信息未显示错误但帐户详细信息未更新

mysql - 查找 MySQL 表中每一列的最后一个非 NULL 值?

sql - 这是什么类型的连接语法?

php - Laravel 5.2 为每个用户提供单独的表

php - 带有联接的 SQL 更新失败

sql - 添加缺失日期以查询