如何使SQL Server 2008中的“无重复”列?

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

我想要“ Name ”列是“ (No Duplicates) ”,就像在Microsoft Access中一样,但是这个列不是主列。 我怎么能这样做?

为该列添加一个唯一约束 :

 ALTER TABLE Foo ADD CONSTRAINT UQ_Name UNIQUE (Name) 

要通过SQL Management Studio UI添加它:

  1. 打开SQL Server Management Studio。
  2. 展开您想要创build约束的数据库的Tables文件夹。
  3. 右键单击要添加约束的表格,然后单击“ devise”
  4. 在表devise器中,单击索引/键
  5. 点击添加
  6. 在“types”下拉列表中select“ 唯一密钥 ”。

要处理发生唯一约束违规的情况,请参阅错误2601 。

如果您愿意,也可以通过SSMS GUI以其他方式完成:

  1. 右键单击SSMS解决scheme资源pipe理器中的表下的“索引”,然后单击“新build索引…”(我知道您正在创build一个约束,而不是索引,但这正是ADD CONSTRAINT SQL脚本的作用。

在这里输入图像说明

  1. 给新索引一个名称(例如“UQ_MyUniqueColumn”),选中“Unique”,然后单击“Add …”

在这里输入图像说明

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

在这里输入图像说明

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

您正在寻找UNIQUE约束 。