Изменить таблицу Sql (изменить внешний ключ на Второй основной таблицы) - PullRequest
0 голосов
/ 03 апреля 2010

У меня есть таблица sql с первичным ключом (автоинкремент) и внешним ключом. Теперь мне нужно изменить таблицу, изменив внешний ключ на второй первичный ключ, чтобы его значения не могли дублироваться.

Как мне изменить мою таблицу, не затрагивая данные?Нужен код sql.

С уважением, Vix

1 Ответ

1 голос
/ 03 апреля 2010

Если я понимаю ваш запрос, вы хотите, чтобы внешний ключ был уникальным в данной таблице, чтобы ваша схема выглядела так:

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 )
...