从表中删除sql中的行

本文关键字:sql 删除 | 更新日期: 2023-09-27 18:03:19

不好意思,我不知道怎么命名。

我正在使用c#和有一个WinForms应用程序我有两个表,每个表都有一个主键,这两个表是陌生的。这意味着我有第三个表连接它们。第三个表有两列:表的A主键和表的B主键。

我只是想知道,如果我从第三个表中删除一行,是相关的A表和B表的数据也会被删除吗?

从表中删除sql中的行

如果您使用ON DELETE CASCADE选项创建了一个外键约束,那么是的,它将删除其他表中的相关行。

如果您创建了一个没有ON DELETE CASCADE选项的外键约束,那么DBMS将阻止您删除原始行。

如果没有创建外键约束,则只删除原始行。

不,不是的第三个表只是关联表,存储表A和表b的引用

但是它会有不同的功能,如果在表a中删除了一条记录,并且它在关联表C中有任何引用,根据您的级联选项,表C中的记录也将被删除。如果没有提到级联选项,则给出异常

由于外键约束,Sql Server不允许您从第三个表中删除行。您必须首先从表A和表B中删除引用第三个表的值,然后从第三个表中删除。

不,因为第三个表是表a和表b的关联表,如果删除是在第三个表上,则不会删除表a和表b的记录。