sql server - tabla - Hacer una columna varchar(50) única
modificar columna sql server (3)
Tengo una columna (que representa un correo electrónico) en una base de datos de SQL Server con varchar(50)
como tipo de datos y me gustaría hacerla única (no permitir las mismas dos direcciones de correo electrónico). No puedo encontrar una manera de hacer que esa columna sea única en SQL Server Management Studio.
¿Como hacer eso?
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)
Edición: No puedo ver cómo crear una restricción en la GUI de SSMS: otras respuestas muestran cómo administrar los índices. Sin embargo, solo uso SQL, nunca la GUI para este tipo de trabajo
En el Object Explorer
debajo de la tabla, haga clic con el botón derecho en la carpeta Indexes
y elija New Index...
En la ventana que aparece ingrese el Index name:
marque la casilla de verificación Unique
y agregue su campo de correo electrónico desde el botón Add...
luego haga clic en Aceptar.
Prueba esto:
ALTER TABLE [dbo].[TableName] ADD CONSTRAINT UNQ__TableName__ColumnName UNIQUE ([ColumnName])
De esto: