我得到以下错误。你能帮帮我吗?

信号547,16级,状态0,1号线 INSERT语句与外键约束“FK_Sup_Item_Sup_Item_Cat”冲突。数据库“dev_bo”,表“dbo.Sup_Item_Cat”发生冲突。声明已终止。

代码:

insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, 
                      status_code, last_modified_user_id, last_modified_timestamp, client_id)   
values (10162425, 10, 'jaiso', '123123',
        'a', '12', '2010-12-12', '1062425')

最后一列client_id导致了错误。我试着把已经存在的值放在dbo中。将Sup_Item_Cat放入列,对应于sup_item..但没有快乐:-(


当前回答

如果FK列表应该包含FK值作为主键值,则将插入数据。

其他回答

父表数据缺失会导致这个问题。 在您的问题中,“dbo”中的数据不可用。“Sup_Item_Cat”导致该问题

您正在尝试在外键列中插入具有外表中不存在的值的记录。

例如:如果您有Books和Authors表,其中Books在Authors表上有外键约束,并且您试图插入没有作者记录的图书记录。

我也得到了同样的错误在我的SQL代码,这个解决方案为我工作,


检查主表中的数据可能是您正在输入的列值不在主键列中。

运行sp_helpconstraint 注意为外键返回的constraint_keys列

我发现所有的字段都必须完全匹配。

例如,发送'catdog'和发送'catdog'是不一样的。

我所做的故障排除是脚本从表的FK代码,我正在插入数据,注意到“外键”有约束(在我的情况下有2),并确保这2个字段值完全匹配,因为他们在抛出FK约束错误的表。

一旦我解决了这两个领域给我的问题,生活是美好的!

如果你需要更好的解释,请告诉我。