这是我今天的数据库结构......
inventory_transactions
存储库存变动,quantity_offset
值为负值或正值。他们还有一个inventory_transaction_id
shipments
商店货件,其中inventory_transactions
组为shipment_id
inventory_transactions
与shipments
之间的关系位于名为shipment_inventory_transactions
我希望能够做的是增加与给定quantity_offset
相关联的inventory_transaction
的{{1}}(增加货件中给定广告资源的数量) )如果货物中已存在该物品。
如果该项目不存在,请在shipment
和inventory_transactions
我认为shipment_inventory_transactions
和JOIN
的某种组合可以做到这一点,但我无法绕过它。
为了简化这种情况,我正在考虑删除ON DUPLICATE KEY UPDATE
表,因为货运和inventory_transactions之间的关系现在将是1比1。这里唯一的问题是每个inventory_transaction都可以与货件或收据相关联,但不能同时与两者相关联。将它们存储在同一列中听起来很笨拙。但是我不喜欢在每一行都有一个额外的列,因为只使用其中一个。
哇...脑转储完成。如果这是有道理的,你可以提供一个我没有得到的合理答案,我会非常感激。
答案 0 :(得分:0)
最终,我发现简化数据库以消除多对多关系让我通过简单的插入实现我想要的。在这一点上更好地简化,而不是增加随着应用程序的增长而变得有问题的复杂性。