第二列中各种内容的唯一索引?

时间:2015-12-03 18:37:43

标签: sql sql-server tsql

是否可以为第二列中的各种内容创建唯一索引? 我的意思是这种情况:

表1:ID(主键),CategoryID(必须是唯一的,因为它与Table2 CategoryID的关系),Name,ClientID。

ClientID 1的CategoryID 1,2,3 ClientID 2的CategoryID 1,2,3

如果它是唯一的,我不能为ClientID 2插入1,2,3,但CategoryID必须是唯一的(关系)。这种情况有没有解决办法?

2 个答案:

答案 0 :(得分:1)

答案是:

为Table1中的CategoryID和ClientID列添加了唯一索引,然后通过将外键添加到Table2中的CategoryID来与Table2建立关系。

CREATE UNIQUE NONCLUSTERED INDEX [IX_Category]
    ON [dbo].[Category]([CategoryID] ASC, [ClientID] ASC);

CONSTRAINT [FK_Product_Category] FOREIGN KEY ([CategoryID], [ClientID]) REFERENCES [dbo].[Category] ([CategoryID], [ClientID]),

感谢所有试图提供帮助的人!

答案 1 :(得分:0)

我认为你在寻找的是

CREATE TABLE( ... , UNIQUE KEY(ClientID, CategoryID))