0

別の列がゼロより大きい場合、1 つの列を更新する必要があります。私はこれを書きました

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

問題は、このクエリが 47 行にしか影響を及ぼさなかったことです。私は何を間違っていますか?

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 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 に答える