删除行SQL从表
问题描述:
很抱歉的冠军,但我不知道如何命名呢..删除行SQL从表
我使用C#,并有一个WinForms应用程序 我有2个表,他们每个人都有一个主键,那两个表是陌生人。这意味着我有第三个表格连接它们。 第三个表具有列:表的主键和表的B主键。
我只想知道,如果我从第三张表删除一行,是相关的 来自表A和B的数据也将被删除?
答
如果您使用ON DELETE CASCADE
选项创建了外键约束,那么是的,它将删除其他表中的相关行。
如果在没有ON DELETE CASCADE
选项的情况下创建了外键约束,那么DBMS将阻止您根本删除原始行。
如果您未创建外键约束,那么只有原始行将被删除。
查看this SO answer例如使用级联删除选项。
答
不,作为第三张表是表a和表b的关联表,如果删除在第三张表上,则不会删除表a和表b中的记录。
答
由于外键约束,Sql Server不会让你从第3个表中删除该行。您必须首先删除引用表A和B中第三个表的值,然后从第三个表中删除。
取决于表和删除触发器之间是否存在强制关系。 – 2013-03-11 20:55:00
表A与第三个表以及表B有关系。 – Elior 2013-03-11 20:57:04