今日の私のデータベース構造は次のとおりです...
inventory_transactions
quantity_offset
マイナスまたはプラスのいずれかの値を持つ在庫の移動を保管します。また、inventory_transaction_id
shipments
のグループである店舗inventory_transactions
出荷shipment_id
inventory_transactions
との関係shipments
は、shipment_inventory_transactions
私ができるようにしたいのはquantity_offset
、そのアイテムがすでに出荷に存在する場合、特定の在庫アイテムの数量を増やすことですinventory_transaction
。shipment
アイテムが存在しない場合は、必要な行を作成しinventory_transactions
ますshipment_inventory_transactions
と の組み合わせでこれができると思いますJOIN
がON DUPLICATE KEY UPDATE
、頭を包むことはできません。
状況を単純化するために、このshipment_inventory_transactions
テーブルを削除することを検討しています。これは、shippings と inventory_transactions の関係が 1 対 1 になるためです。ここでの唯一の問題は、各 inventory_transaction を出荷または受領のいずれかに関連付けることができますが、両方には関連付けることができないことです。両方を同じ列に格納するのは不自然に聞こえます。しかし、どちらか一方しか使用されないため、すべての行に余分な列を配置するのは好きではありません。
うーん…ブレインダンプ完了。これが理にかなっていて、私を逃した賢明な答えを提供できるなら、私は最も感謝しています.