SQL IF 大小写和使用变量

SQL IF Case and using Variables

我正在尝试使用此命令更改我们的 magento 数据库中的一些数量:

SELECT @var,(@var:=qty*-4) FROM cataloginventory_stock_item WHERE product_id = 1;
UPDATE  cataloginventory_stock_item SET qty=qty+@a WHERE product_id = 2;
UPDATE  cataloginventory_stock_item SET qty=0 WHERE product_id = 1;

我试图用一个 if-case 来解决所有问题(仅在数量 <0 时更新目录等)。 但我认为我在某处做错了一些事情。 有人可以帮忙吗?

尝试将其添加到 WHERE 子句中:

SELECT @var,(@var:=qty*-4) FROM cataloginventory_stock_item WHERE product_id = 1;
UPDATE  cataloginventory_stock_item SET qty=qty+@a WHERE product_id = 2 AND qty > 0;
UPDATE  cataloginventory_stock_item SET qty=0 WHERE product_id = 1 AND qty > 0;