如何使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添加它:
- 打开SQL Server Management Studio。
- 展开您想要创build约束的数据库的Tables文件夹。
- 右键单击要添加约束的表格,然后单击“ devise” 。
- 在表devise器中,单击索引/键 。
- 点击添加 。
- 在“types”下拉列表中select“ 唯一密钥 ”。
要处理发生唯一约束违规的情况,请参阅错误2601 。
如果您愿意,也可以通过SSMS GUI以其他方式完成:
- 右键单击SSMS解决scheme资源pipe理器中的表下的“索引”,然后单击“新build索引…”(我知道您正在创build一个约束,而不是索引,但这正是
ADD CONSTRAINT
SQL脚本的作用。
- 给新索引一个名称(例如“UQ_MyUniqueColumn”),选中“Unique”,然后单击“Add …”
- 检查下一个窗口中的列
- 在两个窗口中单击确定
您正在寻找UNIQUE约束 。