从表中删除sql中的行
本文关键字:sql 删除 | 更新日期: 2023-09-27 18:03:19
不好意思,我不知道怎么命名。
我正在使用c#和有一个WinForms应用程序我有两个表,每个表都有一个主键,这两个表是陌生的。这意味着我有第三个表连接它们。第三个表有两列:表的A主键和表的B主键。
我只是想知道,如果我从第三个表中删除一行,是相关的A表和B表的数据也会被删除吗?
如果您使用ON DELETE CASCADE
选项创建了一个外键约束,那么是的,它将删除其他表中的相关行。
如果您创建了一个没有ON DELETE CASCADE
选项的外键约束,那么DBMS将阻止您删除原始行。
如果没有创建外键约束,则只删除原始行。
不,不是的第三个表只是关联表,存储表A和表b的引用
但是它会有不同的功能,如果在表a中删除了一条记录,并且它在关联表C中有任何引用,根据您的级联选项,表C中的记录也将被删除。如果没有提到级联选项,则给出异常
由于外键约束,Sql Server不允许您从第三个表中删除行。您必须首先从表A和表B中删除引用第三个表的值,然后从第三个表中删除。
不,因为第三个表是表a和表b的关联表,如果删除是在第三个表上,则不会删除表a和表b的记录。