2011-12-09 17 views
10

Tengo una columna (que representa un correo electrónico) en una base de datos SQL Server con varchar(50) como tipo de datos y me gustaría que sea única (no permita las mismas dos e- direcciones de correo) No puedo encontrar una manera de hacer que dicha columna sea única en SQL Server Management Studio.Crear una columna varchar (50) única

¿Cómo hacer eso?

Respuesta

21

En T-SQL sería

ALTER TABLE MyTable WITH CHECK 
    ADD CONSTRAINT UQ_MyTable_Email UNIQUE (EmailAddress) 

O como un índice explícito

CREATE UNIQUE INDEX IXU_Email ON MyTable (EmailAddress) 

Editar: No puedo ver cómo crear una restricción en la GUI SSMS: mostrar otras respuestas cómo administrar los índices. Yo sólo uso de SQL, sin embargo, nunca se la GUI para este tipo de trabajo

+0

¿Cuándo creo un índice usando T-SQL donde puedo encontrar este índice en el estudio de administración de SQL Server? – Tomas

+0

En el explorador de objetos, encuentre su tabla. F5 para actualizar, lo verás allí. – gbn

+0

Luego expanda su tabla y busque en la carpeta llamada "Índices". – Aaron

5

En el Object Explorer debajo de la mesa del botón derecho la carpeta Indexes y elija New Index....

En la ventana que aparece ingrese Index name:, marque la casilla Unique y agregue su campo de correo electrónico desde el botón Add... y luego haga clic en Aceptar.

Cuestiones relacionadas