如何在列(SQL Server 2008 R2)上创建唯一约束?

时间:2011-03-03 14:16:06

标签: sql sql-server sql-server-2008 unique-constraint

我有SQL Server 2008 R2,我想设置一个唯一的列。

似乎有两种方法可以做到这一点:“唯一索引”和“唯一约束”。尽管大多数人都推荐使用唯一约束,但它们与我的理解并没有太大差别,因为您也会自动获得索引。

如何创建唯一约束?

ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)

有没有办法通过SQL Server Management Studio创建唯一约束?

4 个答案:

答案 0 :(得分:92)

从GUI中将列设置为SQL Server中的唯一:

他们真的让你在谷仓里跑来跑去用GUI:

在开始之前,请确保您的列不违反唯一约束。

  1. 打开SQL Server Management Studio。
  2. 右键单击表格,单击"设计"。
  3. 右键单击要编辑的列,将出现一个弹出菜单,单击“索引/键”。
  4. 点击"添加"按钮。
  5. 扩展" General"标签。
  6. 确保您要在"列"中选择要唯一的列。框。
  7. 更改"类型"框到"唯一键"。
  8. 点击"关闭"。
  9. 您在文件窗口中看到一个小星号,这表示尚未保存更改。
  10. 按保存或按Ctrl +。它应该保存,并且您的列应该是唯一的。
  11. 或者从SQL查询窗口中将列设置为唯一:

    alter table location_key drop constraint pinky;
    alter table your_table add constraint pinky unique(yourcolumn);
    

    更改立即生效:

    Command(s) completed successfully.
    

答案 1 :(得分:46)

要通过GUI创建这些约束,您需要“索引和键”对话而不是检查约束。

但在你的情况下,你只需要运行你已经拥有的代码。它根本不需要输入表达式对话框。

答案 2 :(得分:14)

这是GUI的另一种方式,即使它通过对象资源管理器中的索引(不是约束),它也能完全执行脚本所做的工作。

  1. 右键点击“索引”并点击“新索引...”(注意:这是 如果您在设计视图中打开了表格,则禁用)
  2. enter image description here

    1. 为新索引指定名称(“U_Name”),选中“唯一”, 然后单击“添加...”
    2. enter image description here

      1. 在下一个窗口中选择“名称”列
      2. enter image description here

        1. 在两个窗口中单击“确定”

答案 3 :(得分:0)

当您处于表格的设计视图中时,单击所需的列并展开顶部工具栏中的表格设计器选项卡。选择索引/键选项。~

Table Designer tool tab

然后添加一个新约束并选择正确的列并将其类型设置为唯一键,并以某种方式命名。就这样! ^^ Creating unique constraint