AId
이 기본 키이고 BId
및 CId
이 테이블을 참조하는 외래 키인 경우. BId
과 CId
의 조합을 고유해야합니다.복합 키의 외래 키
조합을 고유하게 만들기 위해 테이블을 어떻게 변경합니까?
AId BId CId Notes Date
=== === === ===== ====
1 200 1 Random 2/2/2005
2 201 2 ETC 2/8/2007
3 202 3 ETC 2/12/2012
AId
이 기본 키이고 BId
및 CId
이 테이블을 참조하는 외래 키인 경우. BId
과 CId
의 조합을 고유해야합니다.복합 키의 외래 키
조합을 고유하게 만들기 위해 테이블을 어떻게 변경합니까?
AId BId CId Notes Date
=== === === ===== ====
1 200 1 Random 2/2/2005
2 201 2 ETC 2/8/2007
3 202 3 ETC 2/12/2012
당신은 고유 인덱스 또는 고유 제한 조건을 작성해야합니다.
필자는 일반적으로보다 유연한 (원하는 경우 포함 된 열을 추가 할 수 있음) 고유 한 인덱스를 선호하며 스키마에서 고유하게 이름을 지정할 필요가 없습니다. BId, CId
의 순서는 유일성 보장에 차이가 없습니다 만, 인덱스가 효율적으로 지원할 수있는 쿼리에 영향을 미치지 않습니다
CREATE UNIQUE NONCLUSTERED INDEX SomeIndex ON YourTable(BId, CId)
고유 인덱스에 대한
예 구문은 (그 방법은 라운드 Bid
또는 BId, CId
만에 의해보고 지원 not CId
)
이 시도
감사합니다 :
ALTER TABLE myTable
ADD CONSTRAINT myConstraint
UNIQUE NONCLUSTERED
(
BId, CId
)
기본 키가 아닌 고유 인덱스를 만들 수 있습니다. 이렇게하면 BId와 CId의 조합이 고유하게됩니다.
CREATE UNIQUE INDEX ix_ATable_AltUniqueIndex ON ATable(BId,CId)
아니면 고유 제한 조건을 만들기 고유 제한 조건
ALTER TABLE ATable ADD CONSTRAINT uni_ATable UNIQUE (BId,CId)
를 만들 수 있습니다 또한 고유 인덱스를 만들 것으로 보인다.
"create"또는 "add"와 같은 다양한 수정자를 사용하여 "sql server unique index"를 검색하십시오. 많은 결과가 있어야합니다. –