2012-10-17 2 views
0

이의 내가 다른 두 테이블에서 데이터를 저장하는 제 3 테이블이 있다고 가정 해 봅시다 고유 튜플 ...외래 키 관계 -

fk_first_table | fk_second_table 
1 | 1 
1 | 2 
1 | 3 
1 | 4 
2 | 1 

... 

어떻게 두 키가 ... 고유 한 튜플을 형성 반복 결코 드릴 수 있습니다 ... 진실의 테이블 같이 함께 고유의 종류.

+0

컬럼의 조합이 기본 키로 취급 될 수를; 'CREATE TABLE ThirdTable (fk_first_table INTEGER NOT NULL REFERENCES first_table, fk_second_table INTEGER NOT NULL 참조 second_table, PRIMARY KEY (fk_first_table, fk_second_table))'를 생성합니다. 다른 방법으로,'PRIMARY KEY'를'UNIQUE'로 변경하여 DBMS가 기본 키 (어떤 다른 컬럼이 기본 키를 구성하는 경우 관련이 있음)를 조합하지 않고 유일성 제약을 적용하게 할 수 있습니다. –

+0

좋아요! 나 같은 단순하고 정중 한 솔루션을 기대하지 않았다 ... – obinoob

답변

4
CREATE UNIQUE INDEX my_index ON tbl_name (fk1, fk2) 
+0

대단히 감사합니다 – obinoob

3

당신은 고유 인덱스를 만들어야합니다

CREATE UNIQUE INDEX indexName ON thirdtable (fk_first_table, fk_second_table) 
+0

예, 수정되었습니다. 감사. – richardtz