1.删除子表(引用外键的表)时父表(被引用的表)不受影响
2.删除父表时:
若不设置级联删除会出错
若设置级联删除不报错,同时将子表数据一并删除
--delete from StudentInfo --可以直接删除子表中的数据
--where sId=3
--delete from ClassInfo --不能直接删除父表中的数据
--where cId=2
--ALTER TABLE StudentInfo DROP CONSTRAINT FK_StudentInfo_ClassInfo --删除外键约束(和下一步同时进行才有效)
--ALTER TABLE [dbo].[StudentInfo] WITH CHECK ADD CONSTRAINT [FK_StudentInfo_ClassInfo] FOREIGN KEY([cId]) --添加外键约束
--REFERENCES [dbo].[ClassInfo] ([cId]) ON DELETE CASCADE
delete from ClassInfo --设置级联删除后,能直接删除父表中的数据,同时子表数据也被删除
where cId=2
本文探讨了在数据库操作中,删除子表和父表时的不同情况,特别是当涉及到外键约束时。详细解释了如何在不破坏数据一致性的前提下,通过设置级联删除来简化父表的删除过程。
1万+

被折叠的 条评论
为什么被折叠?



