我想创建一个唯一约束,指定对于ID和BriefID,应该有一个唯一名称。
例如。由于约束,不允许以下内容。
ID BriefID Name
12 32 first
12 32 first
表结构如下。
PK ID int
Name nvarchar(50)
FK BriefID int
StatusID int
StartDate datetimeoffset(7)
EndDate datetime
FrequencyID int
MaxArticleDisplay int
LastDateAlertSent datetime
答案 0 :(得分:3)
怎么样
ALTER TABLE dbo.YourTable
ADD CONSTRAINT UC_ID_BriefID UNIQUE(ID, BriefID, Name)
有了这个,您无法在问题中插入这两行。尝试插入第二行会导致约束违规,但不会成功。
答案 1 :(得分:1)
您可以使用唯一索引实现此目的:
CREATE UNIQUE NONCLUSTERED INDEX [UIX_TABLENAME_001] ON [TABLENAME]
(
ID,
BriefID,
Name
)