在SQL Server 2008 GUI中添加唯一约束?

mez*_*hic 50 sql sql-server ssms sql-server-2008

我有一个包含数据的现有表.我刚刚添加了一个新列,但我找不到如何在该列上添加唯一约束.有人可以建议吗?右键单击并选择"检查约束"没有帮助.

mar*_*c_s 58

您需要右键单击表设计器并选择Indexes/Keys:

在此输入图像描述

然后会弹出一个对话框,您可以在索引列表中添加一个新索引(在左侧)并将其定义为unique索引:

在此输入图像描述

  • 这是一个独特的索引,而不是一个独特的约束.两者都创建索引,但它们之间存在差异(请参阅http://databases.about.com/od/sqlserver/a/unique.htm).如果需要UNIQUE约束,则应选择Type = Unique Key. (16认同)

Gui*_*rez 32

在表设计器中单击鼠标右键,然后选择" 索引/键".

在此输入图像描述

索引/键窗口将打开.单击" 添加 "按钮以创建新索引/键,并在" 列"属性中选择要唯一的:

在此输入图像描述

在新索引/键的属性中,将Type设置为Unique Key:

在此输入图像描述

这是唯一约束的生成代码:

ALTER TABLE [dbo].[Table_1] ADD  CONSTRAINT [IX_Table_1] UNIQUE NONCLUSTERED 
(
    [myUniqueColumn] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

  • 是.如果按下Columns属性上的"..."按钮,将显示一个窗口,您可以在其中选择所需的所有列,并指定该索引中列的顺序.正如您在示例中所说的那样,所有选定列的组合都会考虑到键的唯一性. (2认同)