我有以下更新查询,当用户登录到他们的帐户中并且在登录之前在其购物车中放置了项目时(帐户上设置的临时帐户),将运行以下更新查询...MySql - 在更新时避免重复记录
UPDATE cart_items SET account_id=$account WHERE account_id=$cookieId;
这有时候创建一个看起来像这样重复的结果:
id | account_id | itemNumber | itemQuantity
------------------------------------------
20 | 10 | 6 | 2
25 | 10 | 6 | 1
我想这样做我写这避免了创造这些重复的记录,只是一个查询留下一个记录是这样的:
id | account_id | itemNumber | itemQuantity
------------------------------------------
20 | 10 | 6 | 3
我认为使用DUPLICATE KEY UPDATE
可能是我正在寻找的东西,但是我无法理解它。任何人都可以帮我吗?
嗨,感谢您的反馈...这是我的查询背后的逻辑。用户(未登录)将商品添加到他们的购物车,并且这样的条目被制作成用户账户表和cart_items表。此ID在他们的机器上作为cookie存储。但是,如果此用户有一个帐户然后登录,我想合并注册帐户的购物车项目和基于临时Cookie的帐户,然后从数据库中删除临时帐户。那有意义吗? – Tom
它是有道理的。我会尽力提供更好的建议。我在工作,所以我会看看我的休息时间允许我做什么。 – Jonast92
哈!谢谢。它并不是非常紧迫(但),所以不要太紧张。 – Tom