2014-07-24 3 views
0

복합 PK를 사용하여 FK를 작성하려고하는데 여기에 달성하려는 세부 사항이 있습니다.복합 기본 키의 일부에 외래 키 작성

Table -A 
Column A1 
Column A2 
Primary key (A1, A2). 

Table -B 
Column B1 Primary key. 
Column B2 
FK (B2) References A(A1). 

일부 오류가 발생했습니다.

질문 : 우선이 모든 것이 가능합니까? 그렇다면 어떻게 만들 수 있습니까?

+0

코드 및 오류 메시지를 제공하십시오. [this] (https://stackoverflow.com/help/how-to-ask)를 읽으십시오. – philipxy

답변

0

일부 열의 하위 값이 항상 고유 한 (PRIMARY KEY 또는 UNIQUE NON NULL) 열의 하위 값으로 나타날 때 외래 키가 선언됩니다. A (A1)은 고유하지 않으므로 FK를 원할 수 없습니다. 원하는 테이블의 제약 조건은 무엇입니까? A (A1)이 유일하다면 그렇게 선언하십시오. B (B2)가 항상 해당 열에 있으면 A (A1)을 참조하는 FK B (B2)를 선언합니다. A (A1)이 고유하지 않고 B (B2)를 원한다면 트리거와 같은 다른 수단으로 제한해야합니다. 아니면 다른 스키마가 있어야합니다.