使用外键删除记录

时间:2013-01-29 22:58:19

标签: sql foreign-keys

我对使用外键删除记录有一点疑问。 问题是,在开始时我认为使用外键确实很有用,但是当我使用外键时,这对我来说确实存在问题。 例如: 我创建了两个表:

Pizza: id, name, price
Order: id_Pizza (Foreign Key), address, telephone, date

客户下订单时,会创建记录了所订购披萨的ID。 假设我有2000个比萨玛格丽塔订单(id = 1),所以我有2000条记录,id_Pizza = 1。 现在我需要从菜单中删除margherita,因为我不想再出售那种披萨但我不能,因为它在表格订单中被用作外键。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

永远不要删除该行 - 而是引入active bit not null列,并在菜单上仅显示包含active=1的表条目。

Darn,我现在很饿......