在SQL Azure Federation中创建唯一列

时间:2012-09-26 02:01:39

标签: azure-sql-database unique-constraint

我正在尝试在SQL Azure Federation中创建一个唯一的列,但即使以下查询创建了一个表,我仍然可以使用相同的Column1值将条目保存到表中。设置唯一列的正确方法是什么?我需要确保ID是联合uniqueidentifier列,而为了本演示的目的,Column1不能有重复的值。

CREATE TABLE dbo.Table1(
        ID uniqueidentifier NOT NULL,
        Column1 nvarchar(50) NOT NULL,
        Column2 nvarchar(15) NULL,
 CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
 (
     ID ASC
 ),
CONSTRAINT [PK_Table2] UNIQUE NONCLUSTERED
 (
     ID ASC,
     Column1 ASC
 )
 ) FEDERATED ON ([dist] = ID)
 GO

1 个答案:

答案 0 :(得分:0)

没有测试,你不能这样做

CREATE TABLE dbo.Table1(
        ID uniqueidentifier NOT NULL,
        Column1 nvarchar(50) NOT NULL,
        Column2 nvarchar(15) NULL,
CONSTRAINT [PK_Table1] UNIQUE NONCLUSTERED
 (
     ID ASC,
     Column1 ASC
 )
 ) FEDERATED ON ([dist] = ID)
 GO

CREATE UNIQUE INDEX uix_table1_column1 ON Table1(Column1)
GO

然后,您将拥有一个包含联合的主键和一个单独的唯一约束。