我使用一个经典的模式来建模一个电子商务系统。见下图:

我的问题是:当产品从DB中删除,并且客户已经为该产品下了订单时,会发生什么情况?我使用InnoDB,所以我对OrderDetails.productCode有一个约束(对DELETE设置为NULL),但这并不好,因为如果删除该产品,则在显示orderDetails项时无法检索有关该产品的信息。
正确的数据库模式是什么?使产品永恒不变?我的意思是让它们不能吃吗?
谢谢你的帮忙
发布于 2014-01-19 08:14:35
在删除之前,您可以检查产品上是否有任何订单,如果有,可以使用一个标志(如deleted =1)将其视为已删除。
https://stackoverflow.com/questions/21214374
复制相似问题