0

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

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

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

4

4 回答 4

0

正确的语法是这样的:

UPDATE `product`
SET `quantity`= CASE WHEN `price` > 0 THEN 1000 ELSE 0 END
于 2013-10-17T09:21:22.467 回答
0

试试这个...

UPDATE product SET quantity = CASE WHEN price > 0 THEN 1000 ELSE 0 END
于 2013-10-17T09:29:18.650 回答
0

像这样试试。

UPDATE `product` SET `quantity`=(case when `price` > 0 then quantity='1000' else quantity='0' end)
于 2013-10-17T09:29:57.867 回答
0

检查它应该影响多少行:

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

于 2013-10-17T09:30:06.663 回答