我有一个带有主键(自动增量)和外键的sql表。现在我需要通过将外键修改为第二个主键来修改表,以便不允许其值复制。
如何在不影响数据的情况下更改表格?需要sql代码。
此致 VIX
答案 0 :(得分: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 )