微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

INSERT 语句与 FOREIGN KEY 约束冲突 - SQL Server 2016

如何解决INSERT 语句与 FOREIGN KEY 约束冲突 - SQL Server 2016

我有问题,我执行插入选择表并显示错误

(Msg 547,Level 16,State 0,Line 4 INSERT 语句冲突 使用 FOREIGN KEY 约束“FK_art_sub_lin”。冲突 发生在数据库“A_DEBQ_A”、表“dbo.sub_lin”中。该声明 已终止。)

但是表dbo.sub_lin在PK时有2个字段,示例:

 CONSTRAINT [sub_lin_co_subl] PRIMARY KEY CLUSTERED 
(
    [co_subl] ASC,[co_lin] ASC
)WITH (PAD_INDEX = OFF,STATISTICS_norECOmpuTE = OFF,IGnorE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

餐桌艺术有:

(ALTER TABLE A_DEBQ_A.[dbo].[art]  WITH CHECK ADD  CONSTRAINT [FK_art_sub_lin] FOREIGN KEY([co_subl],[co_lin])
REFERENCES [dbo].[sub_lin] ([co_subl],[co_lin])
GO)

表 dbo.sub_lin 的行:

co_lin  co_subl
AREN    222   
PRSP    222   

我不知道如何解决它给我的错误!感谢您的帮助!

解决方法

在您的表 A_DEBQ_A.[dbo].[art] 中,它有一个指向另一个表的外键引用。 FK 的工作方式是,它不能在该列中具有不在引用表的主键列中的值。

如果您有 SQL Server Management Studio,请打开它并 sp_help 'A_DEBQ_A.[dbo].[art]' 查看 FK 在哪一列,以及它引用哪个表的哪一列。您插入了一些错误数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。