我在SQL Server数据库中有一个列(代表一封电子邮件),varchar(50)
作为数据类型,我想使其唯一(不允许相同的两个电子邮件地址)。我找不到在SQL Server Management Studio中使这个列唯一的方法。
怎么做?
答案 0 :(得分:31)
在T-SQL中它将是
ALTER TABLE MyTable WITH CHECK
ADD CONSTRAINT UQ_MyTable_Email UNIQUE (EmailAddress)
或作为显式索引
CREATE UNIQUE INDEX IXU_Email ON MyTable (EmailAddress)
编辑:我看不到如何在SSMS GUI中创建约束:其他答案显示了如何管理索引。我只使用SQL,而不是用于此类工作的GUI
答案 1 :(得分:6)
在表格下方的Object Explorer
中,右键点击Indexes
文件夹,然后选择New Index...
。
在显示的窗口中输入Index name:
,勾选Unique
复选框,然后从Add...
按钮添加电子邮件字段,然后点击确定。
答案 2 :(得分:1)
试试这个:
ALTER TABLE [dbo].[TableName] ADD CONSTRAINT UNQ__TableName__ColumnName UNIQUE ([ColumnName])
由此: