Php 更新1个查询中给定条件的两列
我有一个列名“余额”和“状态”。我从用户输入中获得了数量。Php 更新1个查询中给定条件的两列,php,mysql,sql,Php,Mysql,Sql,我有一个列名“余额”和“状态”。我从用户输入中获得了数量。 我要执行的是更新余额(余额数量) 更新余额后,如果余额为0,则我想将状态更改为2。 是否可以在一个查询中执行这两个操作 提前谢谢。是的;你可以这样写: UPDATE ... SET balance = ..., status = CASE WHEN ... = 0 THEN 2 ELSE status END WHERE ... ; 是的,您可以在一个查询中执行该操作,只需使用InLine IF语句即可 UPDA
我要执行的是更新余额(余额数量)
更新余额后,如果余额为0,则我想将状态更改为2。
是否可以在一个查询中执行这两个操作
提前谢谢。是的;你可以这样写:
UPDATE ...
SET balance = ...,
status = CASE WHEN ... = 0 THEN 2 ELSE status END
WHERE ...
;
是的,您可以在一个查询中执行该操作,只需使用
InLine IF
语句即可
UPDATE tableName
SET balance = balance - qty,
status = IF(balance - qty = 0, 2, status)
// WHERE condition here (if any)...
既然您提到了数量
来自用户,请看下面的文章,了解如何防止SQL注入
。通过使用PreparedStatements,可以避免在值周围使用单引号