按顺序存储产品 - 订单下达后产品将被删除

时间:2017-03-22 14:09:28

标签: mysql e-commerce product

我有一个订单表,目前存储产品ID和数量。

但是,如果要从网站上删除产品,那么在获取订单数据时,订单和产品之间就不会存在关系(产品不再存在)。

纠正这个问题的最佳方法是什么?我是否需要在订单中存储产品名称等?

2 个答案:

答案 0 :(得分:2)

我不建议首先严格删除您的产品。

相反,您可以通过向名为bool的产品表添加额外deleted来删除它们,并在删除产品时将其添加到true。这样您就可以保留对旧的,已删除的产品的引用。

  

请注意,您必须更改SELECT查询以包含WHERE deleted = false。因此,您只能获得未被删除的产品。

如果您意外删除了您不想删除的产品,这也很有用。因为您可以轻松地将其更改回来。

答案 1 :(得分:0)

有些系统(*)正如您在问题中所指出的那样处理此问题 - 通过将产品名称(和其他相关数据)复制到订单中,以便订单仍然包含其中的所有信息,即使产品已删除。

(*)例如,OpenCart和Zen Cart都这样做。