我有一个列(它代表电子邮件)在一个SQL Server数据库与varchar(50)
作为数据类型,我想使它唯一(不允许相同的两个电子邮件地址)。我无法找到一种方法,使这样的列唯一的SQL Server管理工作室。
怎么做?
在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
在表下的Object Explorer
中右键单击"Indexes
"文件夹,选择"New Index...
"
在出现的窗口中输入Index name:
,勾选Unique
复选框并从Add...
按钮添加您的电子邮件字段,然后单击OK。
试试这个:
ALTER TABLE [dbo].[TableName] ADD CONSTRAINT UNQ__TableName__ColumnName UNIQUE ([ColumnName])
从这个:http://msdn.microsoft.com/en-us/library/ms191166.aspx