回答

收藏

SQL与FOREIGN KEY约束冲突

技术问答 技术问答 268 人阅读 | 0 人回复 | 2023-09-14

我试图在数据库上运行一些更新脚本,但出现以下错误:8 Q& t) g7 v1 G  M; _7 x

: m: \; Z) ~/ x. z4 _9 C1 DALTER TABLE语句与FOREIGN KEY约束“ FK_UPSELL_DT_AMRNO_AFMKTG_REF”冲突。数据库“" z! ?! _/ W  a2 g
ECOMVER”的表“ dbo.AFFILIATE_MKTG_REF”的列“ AMRNO”中发生了冲突。. N  t- U, ^  w( J! U6 R
4 u" E2 [, c# q9 l1 H7 t( h- I4 ?* O
我正在运行以下脚本:
7 R3 i4 g( {* |ALTER TABLE [dbo].[UPSELL_DATA]  WITH CHECK ADD . f# @+ B6 l7 o) G% J
        CONSTRAINT [FK_UPSELL_DT_AMRNO_AFMKTG_REF] FOREIGN KEY
4 c6 q6 r4 B# ]$ w) ~        (2 L, V8 p5 p  y% h1 ]& b; g1 Z' y
          [AMRNO]
1 [8 v" s6 h7 e* ], H( \6 |" B: o        ) REFERENCES [dbo].[AFFILIATE_MKTG_REF] ($ f  e3 _' V6 [+ d
          [AMRNO]
: L- J& J) Y; s% G! s& ~) x" [' R        )5 z' A" K6 U0 i- C: q9 d$ d2 I% Y
GO4 E" k- V% Q' d( O6 y: c) c
AMRNO是表AFFILIATE_MKTG_REF中的PK。
8 k: p  j* U4 @% B6 w1 e' O9 X另外,我尝试使用SQL Management Studio中的Modify table选项创建外键关系,但遇到了相同的错误。我不确定我应该寻找什么?
% s. E% Z, q& M2 d7 {& l任何建议将不胜感激。% {* R1 G4 T* @+ B" ~% z) D+ y
                % f/ K& }8 `2 R# A
解决方案:
3 w, J* `2 Q; ~8 j/ O" Z9 w8 G               
; I+ C5 ^3 k! x+ Y, H. R7 m/ t0 X: {7 j& P6 x5 j

, `$ m1 Q+ p) z# K9 j                您可能在[dbo]。[UPSELL_DATA]表中有记录,但[dbo]。[AFFILIATE_MKTG_REF]表的[AMRNO]列中没有[AMRNO]列中的值。尝试这样的查询来查找那些没有匹配记录的查询:
# @. a. \; Y  z* A4 q: p$ z/ i7 H+ wselect   *8 F% l( o: W7 _- N6 J
from     [dbo].[UPSELL_DATA] u5 g/ L$ U! y) h
left join [dbo].[AFFILIATE_MKTG_REF] m
  r) e6 z5 @- ~0 X/ O7 von       u.AMRNO = m.AMRNO
1 ]$ v1 s$ `, Mwhere    m.AMRNO is null
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则