我正在做一个学校项目,我有表项和ticketItems。 TicketItems包含表项(Item_ID)中的外键。那么,如果我想删除一个ítem并且其ID也在另一个表上呢?它会给我一个错误。
答案 0 :(得分:2)
通常,当你有一个子表(items
)引用的父表(ticketitems
)时,如果你想删除一个项目,你也想采取行动在ticketitems
表格上。
如果你没有,并且你对ticketitems
没有约束,你将在该表上留下一个孤儿行,因为item_ID
将不再可用。
您可能只需要:
delete from ticketitems where item_ID = ItemIdYouWantToDelete
现在您已从ticketitems
删除,您也可以从items
删除。
为外键定义约束时,可以指定DBMS如何管理该外键。您的问题下面的评论中的链接中对此进行了解释。