2011-12-09 69 views
10

我有一個SQL Server數據庫中的列(它代表一個電子郵件)與varchar(50)作爲數據類型,我想使它唯一(不允許相同的兩個e-郵件地址)。我找不到在SQL Server Management Studio中使此列獨一無二的方法。使一個varchar(50)列唯一

如何做到這一點?

回答

21

在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這種工作

+0

當我使用T-SQL創建索引時,我可以在SQL Server管理工作室中找到這個索引? – Tomas

+0

在對象資源管理器中,找到你的表。 F5刷新,你會在那裏看到它。 – gbn

+0

然後展開您的表並查看名爲「索引」的文件夾。 – Aaron

5

Object Explorer表中右鍵單擊下Indexes文件夾並選擇New Index...

在出現的窗口中輸入Index name:,勾選Unique複選框並從Add...按鈕添加您的電子郵件字段,然後單擊確定。