0

我有点卡住了。我的这张表有一些关系,其中一个是引用自身(我们称这种关系为 A)。

我需要从该表中删除一些行,但因为我的关系之一是引用自身,所以我无法这样做。因此,我只是删除了关系A并保存了表。

删除要删除的行后,我尝试重新添加关系A,但是现在出现以下错误消息。

“T_FormulaireQuestion”表
无法创建关系“FK_T_FormulaireQuestion_T_FormulaireQuestion”。
ALTER TABLE 语句与 FOREIGN KEY SAME TABLE 约束“FK_T_FormulaireQuestion_T_FormulaireQuestion”冲突。冲突发生在数据库“VilleG”、表“dbo.T_FormulaireQuestion”、列“intFormulaireQuestionID”中。

我相信这条消息的意思是我的关系B在尝试重新添加关系A时引起了冲突。

我的问题是,如何重新添加关系A?我是否必须删除关系B,重新添加关系A并最后重新添加关系B

我宁愿不必删除整个表,因为其中有重要数据。

请使用以下图片作为参考。

在此处输入图像描述 在此处输入图像描述

谢谢!

4

1 回答 1

3

您不能删除行,因为这会违反关系。强制删除运行后,当然违反了关系......您已经破坏了数据完整性。您的删除操作无效。您使错误消息静音,但您仍然执行了错误。

在重新添加约束之前修复数据。可能,这意味着删除任何依赖于T_FormulaireQuestion. 您必须找出哪些行没有匹配的行T_FormulaireQuestion并删除它们。

一旦不再违反约束,您就可以重新添加约束。请注意,任何违反约束的行为都意味着您的数据无效。你应该修复这个状态。

于 2013-11-07T22:52:46.867 回答