2012-10-29 3 views
0

데이터베이스에 두 개의 테이블이 있습니다. TableOne에는 theKey 기본 키가 있습니다. TableTwo에는 TableOne의 해당 열을 나타내는 외래 키 theKey이 있습니다.외래 키 제약 5

UPDATE TableTwo 
    SET theKey = NewIk 
    FROM TableTwo W 
    JOIN TableThree D ON W.theKey_backup = D.OldIk 
    WHERE dt >= '2012-05-01' 

을하지만 다음과 같은 오류가 나타납니다 : 지금은 TableTwotheKey를 업데이트하려고 나는 TableOne을 만지지 않으면 나는이 오류가 왜

The UPDATE statement conflicted with the FOREIGN KEY constraint "FK_TableTwo_TableOne". The conflict occurred in database "MyDB", table "dbo.TableOne", column 'theKey'.

당신이 설명해 주실 수 있습니까?

감사합니다. 그 오류가 무슨 말을입니다 -

+1

'TableTwo.theKey'를 참조 된 테이블 인'TableOne'에 ** 존재하지 않는 ** 값으로 설정하려고합니다. 이것이 오류의 의미입니다. –

+0

고마워요! 대답하고 싶지 않아? 나는 그것을 표시 할 것이다. –

답변

1

당신은 참조 된 테이블에, TableOne 존재하지 않는 값으로 TableTwo.theKey을 설정하려고하고 있습니다.

왜 이런 일이 발생하는지 확인해야합니다. 새 값을 선택하는 이유는 무엇입니까? 왜 그것이 (아직) TableOne에 존재하지 않는 가치입니까?