2010-04-03 2 views
0

기본 키 (자동 증가) 및 외래 키가있는 sql 테이블이 있습니다. 외래 키를 두 번째로 수정하여 테이블을 수정해야합니다. 기본 키를 사용하여 값을 복제 할 수 없도록하십시오.Alter Sql 테이블 (외래 키를 테이블의 두 번째 기본 키로 변경)

데이터에 영향을주지 않고 테이블을 변경하려면 어떻게해야합니까? SQL 코드가 필요합니다.

감사합니다, 빅스

답변

1

나는 당신의 요청을 이해한다면, 당신은 주어진 테이블 내에서 고유해야하는 외부 키를 강제하려는 때문에 스키마 보이는 같은 :

Create Table Table1 
(
    Id int not null primary key clustered 
    , ForeignId not null 
    , ... 
    , Constraint FK_Table1_Table2 
     Foreign Key (ForeignId) 
     References Table2(Id) 
) 

그리고 당신이 지금 원하는 이 테이블에서 ForeignId를 고유하게 지정하십시오. 맞습니까? 다음을 수행하십시오.

Alter Table Table1 
    Add Constraint UC_Table1_ForeignId Unique Nonclustered (ForeignId) 
+0

예. 외래 키를 복제하지 않기를 원했습니다. – vix

관련 문제