我使用经典模式对电子商务系统进行建模。请参见下图:
我的问题是:当产品从数据库中删除并且客户已经对该产品下订单时会发生什么? 我使用 InnoDB,所以我对 OrderDetails.productCode (ON DELETE SET NULL)有一个约束,但这不好,因为如果产品被删除,当我显示 orderDetails 项时,我将无法检索有关该产品的信息。
正确的数据库模式是什么?使产品不可变?我的意思是让它们不可删除?
感谢您的帮助
最佳答案
您可以在删除之前检查该产品是否有任何订单,如果有,请使用诸如已删除 = 1 之类的标志将其视为已删除。
关于mysql - 电商订单系统 不可变订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214374/