MySQL:根据if条件更新行

时间:2019-09-27 03:37:38

标签: mysql sql

如果满足列中的特定条件,如何更新行中的每一列? 假设该行的状态列为“ underReview”,则使用请求正文更新整个行。如果状态列具有其他值,那么是否不执行SQL查询?我正在使用v8 btw。

我已经尝试过下面的查询,但是显示错误。

IF ((SELECT status FROM tableName) = "underReview" WHERE id = ?) 
THEN
    UPDATE tableName
    SET columnA = ?, columnB = ?, columnC = ?, columnD = ?
    WHERE id = ?;
END IF

1 个答案:

答案 0 :(得分:3)

只需将status上的条件添加到WHERE中的UPDATE子句中即可:

UPDATE tableName
SET columnA = ?, columnB = ?, columnC = ?, columnD = ?
WHERE id = ? AND status = 'underReview';