如何在SQL Server 2008中制作"无重复"列?

Wah*_*tar 36 sql-server unique unique-constraint

我的SQL Server数据库中有一个简单的表.该表包含两列:ID int, Name nvarchar(50).该ID列是我的表的主键.

我希望" Name"列为" (No Duplicates)",就像在Microsoft Access中一样,但此列不是主列.我怎么能这样做?

Ant*_*lev 85

为该列添加唯一约束:

ALTER TABLE Foo ADD CONSTRAINT UQ_Name UNIQUE (Name)
Run Code Online (Sandbox Code Playgroud)

要通过SQL Management Studio UI添加它:

  1. 打开SQL Server Management Studio.
  2. 展开要在其中创建约束的数据库的Tables文件夹.
  3. 右键单击要添加约束的表,然后单击" 设计".
  4. 在表设计器中,单击" 索引/键".
  5. 单击添加.
  6. 在"类型"下拉列表中选择" 唯一键 ".

要处理发生唯一约束冲突的情况,请参阅错误2601.


Ton*_* L. 7

如果您愿意,也可以使用SSMS GUI以另一种方式完成此操作:

  1. 右键单击SSMS解决方案资源管理器中的表下的"索引",然后单击"新建索引..."(我知道您要创建一个约束,而不是索引,但这正是ADD CONSTRAINTSQL脚本的作用.

在此输入图像描述

  1. 为新索引指定名称(例如"UQ_MyUniqueColumn"),选中"唯一",然后单击"添加..."

在此输入图像描述

  1. 在下一个窗口中检查您的列

在此输入图像描述

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


Tho*_*ens 5

您正在寻找UNIQUE约束.