2010-04-03 86 views
0

我有一個帶有主鍵(自動增量)和外鍵的sql表。現在我需要修改該表,方法是將外鍵修改爲第二個主鍵,以便其值不得重複。更改Sql表(將外鍵更改爲表的第二個主鍵)

如何在不影響數據的情況下更改我的表格?需要sql代碼。

問候, Vix指數

回答

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 2010-04-03 04:36:23