【发布时间】:2013-03-03 03:03:47
【问题描述】:
我有 2 个表,即 Products & Purchase:
products: id, productname, quantityleft.
purchase:id, productname, quantity.
产品表- 将购买所有新产品。这意味着表产品中不会存在相同的产品名称。所有独特产品的列表
PURCHASE TABLE - 具有唯一 Purchase_ID 的所有购买产品的列表。
这是我的场景/问题:
如果我想在 PURCHASE 中添加或插入值,PRODUCTS 表将获得 purchase 的所有值,但是仅当 purchase 中的 productname 不存在于 PRODUCTS 的 'productname' 中。
如果 productname purchase 已存在于 productname products 中,则 quantity products 中的 将由 purchase 中具有相同 productname 的 quantity 的值相加。
到目前为止,我之前还没有遇到过这种情况,但如果我得到了这种情况,我可能很容易编写这个代码。我现在想的是使用distinct,但我知道这不是正确的做法。你能建议我实现这一目标的最佳和正确方法吗?除了我真的一无所知,我不能用谷歌搜索它。希望你能帮助我。
【问题讨论】:
-
这称为“UPSERT”。如果您在产品表上有一个主键,这是一个类似的问题,它有一个很好的答案:stackoverflow.com/questions/1218905/…
-
upsert 也适用于两个表?
标签: mysql database xampp relational-database