繁体   English   中英

更改Sql表(将外键更改为表的第二主键)

[英]Alter Sql table (Change foreign key to Second primary of the table)

我有一个带有主键(自动递增)和外键的sql表,现在我需要通过将外键修改为第二个主键来修改表,以免其值重复。

如何在不影响数据的情况下更改表格? 需要SQL代码。

问候,Vix

如果我理解您的请求,则您想强制外键在给定表中唯一,因此您的架构如下所示:

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 )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM