设置item_quantity后,您可以执行更新请求。然后你就可以直接比较item_quantity这样的:
UPDATE `item_quantity`
SET
`quantity`= `quantity` - 5
,`requested`= IF(`quantity` = 0, 0, `requested`);
样品
mysql> SELECT * FROM item_quantity;
+----+----------+-----------+
| id | quantity | requested |
+----+----------+-----------+
| 1 | 10 | 9 |
+----+----------+-----------+
1 row in set (0,00 sec)
mysql> UPDATE `item_quantity`
-> SET
-> `quantity`= `quantity` - 5
-> ,`requested`= IF(`quantity` = 0, 0, `requested`);
Query OK, 1 row affected (0,00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM item_quantity;
+----+----------+-----------+
| id | quantity | requested |
+----+----------+-----------+
| 1 | 5 | 9 |
+----+----------+-----------+
1 row in set (0,00 sec)
mysql> UPDATE `item_quantity`
-> SET
-> `quantity`= `quantity` - 5
-> ,`requested`= IF(`quantity` = 0, 0, `requested`);
Query OK, 1 row affected (0,00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM item_quantity;
+----+----------+-----------+
| id | quantity | requested |
+----+----------+-----------+
| 1 | 0 | 0 |
+----+----------+-----------+
1 row in set (0,00 sec)
mysql>
我试过,但从IF开始,以分号总是红色下划线。我猜我的语法错了。我如何解决它?它只是说意想不到的标记 – healer
@healer - 您能否请您发布您的查询 –
@healer - 您的查询中必须有错字。我在我的回答中添加了一个示例 –