【发布时间】:2011-12-09 13:21:34
【问题描述】:
我在 SQL Server 数据库中有一个列(代表电子邮件),其数据类型为 varchar(50),我想让它唯一(不允许使用相同的两个电子邮件地址)。我找不到使此类列在 SQL Server Management Studio 中唯一的方法。
怎么做?
【问题讨论】:
标签: sql-server unique varchar
我在 SQL Server 数据库中有一个列(代表电子邮件),其数据类型为 varchar(50),我想让它唯一(不允许使用相同的两个电子邮件地址)。我找不到使此类列在 SQL Server Management Studio 中唯一的方法。
怎么做?
【问题讨论】:
标签: sql-server unique varchar
在 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...按钮添加您的电子邮件字段,然后点击确定。
【讨论】:
试试这个:
ALTER TABLE [dbo].[TableName] ADD CONSTRAINT UNQ__TableName__ColumnName UNIQUE ([ColumnName])
从这里:
【讨论】: