我有一张叫做bag的桌子(再次):
+--------+----------+---------+----------+
| bag_id | chara_id | item_id | item_qty |
+--------+----------+---------+----------+
| 1 | 1 | 2 | 22 |
| 2 | 1 | 1 | 55 |
| 3 | 3 | 1 | 2 |
| 6 | 3 | 4 | 2 |
| 7 | 4 | 4 | 2 |
| 8 | 5 | 4 | 2 |
| 9 | 6 | 4 | 2 |
| 10 | 1 | 5 | 1 |
| 14 | 1 | 8 | 1 |
| 15 | 1 | 6 | 1 |
| 18 | 1 | 4 | 1 |
| 19 | 1 | 3 | 1 |
| 29 | 8 | 1 | 1 |
| 30 | 8 | 7 | 1 |
| 33 | 6 | 2 | 1 |
+--------+----------+---------+----------+
我有这个SQL 语句:
INSERT INTO bag(bag_id, chara_id, item_id, item_qty)VALUES(NULL, :id, :item_id,1)
在询问如何删除重复项之后
,我接下来要做什么(以进一步限制重复项)是当用户购买他的包中已经存在的物品时,它会将 item_qty 增加 1。
喜欢:
if chara_id = exist and item_id exist
item_qty = item_qty + 1
else
#..normal insert
如果我使用:
INSERT INTO bag(bag_id, chara_id, item_id)VALUES(NULL, 1, 2)
它不应该插入而是将 item_qty 更新为 23,因为该条目已经存在。