如果另一列大于零,我需要更新一列。我写了这个MySQL UPDATE CASE WHERE
UPDATE `product` SET `quantity`= CASE
WHEN `price` > 0
THEN `quantity` = 1000
ELSE `quantity` = 0
END
问题是这个查询只影响了47行,它应该在1000行左右。我究竟做错了什么?
如果另一列大于零,我需要更新一列。我写了这个MySQL UPDATE CASE WHERE
UPDATE `product` SET `quantity`= CASE
WHEN `price` > 0
THEN `quantity` = 1000
ELSE `quantity` = 0
END
问题是这个查询只影响了47行,它应该在1000行左右。我究竟做错了什么?
检查应该影响的行数:
SELECT COUNT(1)从产品,其中价格> 0和数量<> 1000; 从价格<> 0且数量<> 0的商品中选择支数(1)
正确的语法是这样的:
UPDATE `product`
SET `quantity`= CASE WHEN `price` > 0 THEN 1000 ELSE 0 END
尝试这个...
UPDATE product SET quantity = CASE WHEN price > 0 THEN 1000 ELSE 0 END
尝试这样的。
UPDATE `product` SET `quantity`=(case when `price` > 0 then quantity='1000' else quantity='0' end)