我已阅读有关 REPLACE 和 INSERT ON DUPLICATE 键查询的信息,虽然我可以看到它们的用处,但它们似乎并不适合我的目的。也许我的数据库设计偏离了应有的方式,但无论哪种方式,我都希望我能让它正常工作。
我正在尝试模拟一个在线商店来自学 mysql 和 php,并且我正在记录一个 session ID,用于将个人的购物车拉回以进行个人访问并尝试将库存写入我所在的购物车有一个问题是试图检查商品是否在购物车中。我希望每个用户的每个项目都是唯一的,但是它不应该对整个表都是唯一的,否则这会阻止多个用户购买相同的项目,不是吗?
到目前为止,我的表格如下所示:
| Cart ID(key) | USER_ID(fk) | ItemNum | ItemQTY |
我基本上想看看 USER_ID 的购物车中是否已经有 > 0 个 ItemQTY 的 ItemNum。如果他们这样做,我希望 itemQTY 更新为 itemQTY + 无论他们添加多少,如果没有,则插入一个新行。
为了执行此操作,我是否必须在编写之前进行查询?
最佳答案
对于初学者...我认为只运行查询来检查它是否存在可能没问题。然后,当您通常更熟悉 php 和 mysql 时,开始积累您的知识。
其他人可能不同意,但在学习新语言时,我喜欢在使它们变得“完美”之前让它们发挥作用。
关于php - mySQL/PHP 在行存在时更新,或者在要检查的列不唯一时插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546963/