別の列がゼロより大きい場合、1 つの列を更新する必要があります。私はこれを書きました
UPDATE `product` SET `quantity`= CASE
WHEN `price` > 0
THEN `quantity` = 1000
ELSE `quantity` = 0
END
問題は、このクエリが 47 行にしか影響を及ぼさなかったことです。私は何を間違っていますか?
正しい構文は次のとおりです。
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)
影響を受ける行数を確認します。
価格>0 かつ数量<>1000 の製品から count(1) を選択します。価格<>0および数量<>0の製品からcount(1)を選択します。