回答

收藏

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

技术问答 技术问答 99 人阅读 | 0 人回复 | 2023-09-13

我收到以下错误。请你帮助我好吗?( q. V+ z$ S3 t2 M, Q& r

- a- r- s0 P. M% S9 o# _消息547,级别16,状态0,第1行. C8 b; i, h7 p. f7 g. c; @' O+ w
INSERT语句与FOREIGN KEY约束“ FK_Sup_Item_Sup_Item_Cat”发生冲突。在数据库“ dev_bo”的表“( b& W: |9 E4 c, V
dbo.Sup_Item_Cat”中发生了冲突。该语句已终止。" Q& A. Q. ~, I5 m8 F
: ~9 Q' Q! \9 @# I- F3 v
代码:3 D9 R, t3 N2 V8 T0 E+ f  T0 H# k
insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, ' G0 d( Z1 x0 L- k2 p7 g9 U) h0 Q- H
                      status_code, last_modified_user_id, last_modified_timestamp, client_id)   
. ~$ X6 r8 d, i$ z5 `* [# Xvalues (10162425, 10, 'jaiso', '123123',/ X$ F. }0 d6 \, H$ |) N
        'a', '12', '2010-12-12', '1062425')  q5 G+ `7 b. i5 a; c7 }
最后一列client_id是导致该错误的原因。我试图将已经存在的值dbo.Sup_Item_Cat放入对应于sup_item的列中。
& v% r8 X# f: y. Y" G7 q! Q                1 ]1 v+ X7 ~6 j) K* }5 n; B# t5 W) k
解决方案:6 f( W# C6 H2 u/ i
               
; `" \  q# D, L! F
# J) e# k& [. {9 f) d9 V; h8 e  d; _6 n2 u; r4 q
                在您的表中dbo.Sup_Item_Cat,它具有对另一个表的外键引用。FK的工作方式是,它不能在该列中拥有一个值,该值也不在被引用表的主键列中。: Y1 V( ^3 w! k5 w: T- e
如果您拥有SQL Server Management Studio,则将其打开并单击sp_help“0 T) F4 Y; s( o1 _& ?2 L& j
dbo.Sup_Item_Cat”。查看FK所在的列,以及它引用的表的哪列。您正在插入一些错误的数据。
2 [: J$ k; d1 j% O3 O6 s2 x! K2 q让我知道您是否需要更好的解释!
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则