MySQL SET IF语句

时间:2011-05-01 20:42:28

标签: mysql if-statement

有人可以告诉我正确的mysql语法来执行以下操作:

使用3个值中的1个更新表中的列:

如果col_A = 4,则将col_Z设置为col_A 如果col_B = 4,则将col_Z设置为col_B 否则将col_Z设置为NULL(或单独保留,因为col_Z初始化为NULL)

这就是我所拥有的:

Update my_table
SET col_Z = IF(col_A = 4, col_A, IF(col_B = 4, col_B, NULL))
WHERE id = "001"

这是对的吗?

1 个答案:

答案 0 :(得分:15)

是的,它看起来是正确的。

以下代码会更简单。

UPDATE my_table
SET col_Z = IF(col_A = 4 OR col_B = 4, 4, NULL)
WHERE id = "001"