如何删除父表中的记录而不影响子表?

时间:2014-03-22 01:46:30

标签: sql-server

我的数据库中有2个表,表A和表B.

表A是主表,表B是事务表。表B具有外键(IdTableA)

示例:

我已经在表B中记录了IdTableA。

INSERT INTO Table_B VALUES(IdTableB,IdTableA,500000);

当我尝试删除表A中IdTableA的记录时出错。

我想删除表A中的记录而不影响表B中的记录

我该怎么办?有可能吗?

1 个答案:

答案 0 :(得分:0)

您没有发布错误消息,但很可能IdTableA列是表A的外键。这意味着如果表B中的任何行引用了表A中的行,则无法删除行。除了永久删除外键之外,没有办法解决这个问题。

外键的目的是准确防止这种情况。它可以防止数据完整性问题,否则行将没有逻辑意义,因为它们引用的其他行实际上并不存在。

http://en.wikipedia.org/wiki/Foreign_key