Создайте уникальный столбец varchar (50)
У меня есть столбец (который представляет собой электронную почту) в базе данных SQL Server с varchar(50)
в качестве типа данных, и я хотел бы сделать его уникальным (не разрешать те же два адреса электронной почты). Я не могу найти способ сделать такой столбец уникальным в SQL Server Management Studio.
Как это сделать?
Ответы
Ответ 1
В T-SQL это будет
ALTER TABLE MyTable WITH CHECK
ADD CONSTRAINT UQ_MyTable_Email UNIQUE (EmailAddress)
Или как явный индекс
CREATE UNIQUE INDEX IXU_Email ON MyTable (EmailAddress)
Изменить: я не вижу, как создать ограничение в GUI SSMS: в других ответах показано, как управлять индексами. Я использую только SQL, хотя никогда не использовал графический интерфейс для такого рода работ
Ответ 2
В Object Explorer
под таблицей щелкните правой кнопкой мыши папку Indexes
и выберите New Index...
.
В появившемся окне введите Index name:
, отметьте галочкой Unique
и добавьте свое поле электронной почты из кнопки Add...
, затем нажмите OK.
Ответ 3
Попробуйте следующее:
ALTER TABLE [dbo].[TableName] ADD CONSTRAINT UNQ__TableName__ColumnName UNIQUE ([ColumnName])
Из этого:
http://msdn.microsoft.com/en-us/library/ms191166.aspx