【发布时间】:2010-12-05 12:58:39
【问题描述】:
我已阅读有关 REPLACE 和 INSERT ON DUPLICATE 键查询的信息,虽然我可以看到它们有多么有用,但它们似乎不适用于我的目的。也许我的数据库设计偏离了它应有的样子,但无论哪种方式,我都希望我能做到这一点。
我正在尝试模拟一个在线商店来自学 mysql 和 php,并且我正在记录一个会话 id,用于将个人的购物车拉回以进行个人访问,并尝试将库存写入我所在的购物车有一个问题是试图检查该项目是否在购物车中。我希望每个用户的每个项目都是唯一的,但它不应该对整个表都是唯一的,否则这会阻止多个用户购买相同的项目,不是吗?
到目前为止,我的桌子是这样的:
| Cart ID(key) | USER_ID(fk) | ItemNum | ItemQTY |
我基本上想看看 USER_ID 在他们的购物车中是否已经有 > 0 ItemQTY 的 ItemNum。如果他们这样做,我希望 itemQTY 更新为 itemQTY + 无论他们添加多少,如果没有,则插入一个新行。
为了做到这一点,我必须在写作之前进行查询吗?
【问题讨论】: