我不知道它用于定义此问题的术语是什么,让我在这里用一个简单的例子来解释。我有一个products
和orders
表,orders
与ordered_products
表有一对多关系。
见表: -
products(id, sku, name, summary, price);
orders(id, code, customer_name, customer_address);
ordered_products(id, order_id, product_id, quantity);
订单生成后,订购的产品会列在ordered_products
表中。然后,应用程序在该实例中生成发票,从products
表中获取价格参考。出现问题!当订购的产品被编辑时。例如,如果在products
表上编辑了名称或价格,则订单会受到影响,从而导致实际订单不匹配。这里有什么解决方案?我是否需要复制ordered_items
中的值而不是使用外键引用?
答案 0 :(得分:1)
订单“通常”以商定的价格放置,因此在下订单后更改产品价格意味着您必须将ordered_price存储在ordere_products表中。