2012-11-02 1 views
2

테이블 (제품) 열 - ProductID (FK) 및 ProductType (FK)을 업데이트하려고합니다. 이 두 열은 MProduct 테이블의 MProductID (PK) 열과 MProductType (PK) 열과의 관계가 있습니다.SQL - 업데이트 문의 외래 키 제약 조건 오류

는 표정까지 유효한 모든 기록을 가지고, 나는

ProductID  ProductType 
9999   11 
9999   12 

를 업데이트하려고하지만 내가 MProduct 테이블과 점검 다음과 같은 오류

The UPDATE statement conflicted with the FOREIGN KEY constraint "FKHCR_MProduct". 
The conflict occurred in database "XXXX", table "dbo.MProduct". 

을 얻었다. 테이블 구조를 변경할 수 없습니다.

내가이 쿼리 너무

Select ProductID,ProductType 
from dbo.Product P 
Left Join dbo.MProduct M on M.ProductID = P.ProductID 
    and M.ProductType = P.ProductType 
where M.ProductType is null 
    and M.ProductID is null 

을 시도하고 어떤 출력이, 아니 널 데이터가 조회 테이블 내부가 없음을 의미합니다.

+3

'MproductType이 null이거나 M.ProductID가 null 인 경우 '를 시도하십시오. –

+0

테이블 스키마와 공식 FK 정의를 제공 할 수 있습니까? –

+0

@ 존 - 벌써 조건을 시험해 봅니다 .... – 343

답변

3

모든 가능한 시나리오에서 NULL 값을 테이블에 삽입하거나 참조 테이블에없는 값을 삽입하려고합니다.

대부분의 경우 필드에 NULL 값을 삽입하려고했기 때문입니다.

+0

이 쿼리를 시도했지만 null 데이터가 없습니다. dbo.Product P 에서 dbo.Product P를 선택하십시오. M. ProductID = P.ProductID 및 M.ProductType = P.ProductType 에서 M. ProductType이 null 이고 M.ProductID가 null입니다. – 343

+0

데이터를 삽입하는 경우에도 테이블에 NUll 값이 없음을 확인합니다. – 343

+1

그런 다음 참조 테이블에없는 값을 삽입하려고합니다. –