2012-02-09 81 views
2

我想在SQL Server 2005數據庫中插入一行,我得到一個外鍵約束違規。插入衝突的外鍵約束,但它被插入

當我查看數據庫時,我看到了我試圖插入的記錄(並且與FK衝突)。我的印象是沒有插入FK失敗的記錄。

有沒有辦法可以發生這種情況?

Regards, Bas Hendriks。

+2

我不認爲它是可能的。由於插入引起的後續操作(例如觸發器),您可能會收到此消息。 發佈表格的結構,以便我們可以分析 – Diego 2012-02-09 13:14:07

+0

我同意。你確定目前的記錄是被插入的記錄嗎?你確定FK違規與該記錄有關嗎?你有沒有檢查過FK的PK肯定不存在?如果記錄成功插入,我敢打賭相關PK存在,這表明FK違規與其他事情有關。 (觸發器或其他業務邏輯被觸發?) – MatBailie 2012-02-09 13:19:51

+4

您確定「Enforce Foreign Key Constraint」屬性設置爲「Yes」嗎? – Lamak 2012-02-09 13:22:14

回答

1

所以看起來,這個特定數據庫的DBA'er已經將Enforce Foreign Key Constraint屬性設置爲「否」。這超出了我的原因。

感謝提示Lamak!