MySQL UPDATE CASE WHEN

时间:2013-10-17 09:19:17

标签: mysql database

如果另一列高于零,我需要更新一列。我写了这个

UPDATE `product` SET `quantity`= CASE
WHEN `price` > 0
THEN `quantity` = 1000
ELSE `quantity` = 0
END

问题是这个查询只影响了47行,它应该在1000行左右。我做错了什么?

4 个答案:

答案 0 :(得分:0)

正确的语法是:

UPDATE `product`
SET `quantity`= CASE WHEN `price` > 0 THEN 1000 ELSE 0 END

答案 1 :(得分:0)

试试这个......

UPDATE product SET quantity = CASE WHEN price > 0 THEN 1000 ELSE 0 END

答案 2 :(得分:0)

试试这样。

UPDATE `product` SET `quantity`=(case when `price` > 0 then quantity='1000' else quantity='0' end)

答案 3 :(得分:0)

检查它应该影响的行数:

  

从产品中选择count(1),其中价格> 0和数量<> 1000;   从产品中选择count(1),其中价格<> 0和数量<> 0;