2012-02-09 84 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!