válida update tabla restricción referencia instrucción hace foreign externa deshabilitar constraint conflicto con clave sql sql-server constraints

update - SQL Server 2005 ¿Cómo crear una restricción única?



instrucción update en conflicto con la restricción foreign key (10)

¿Cómo creo una restricción única en una tabla existente en SQL Server 2005?

Estoy buscando tanto el TSQL como cómo hacerlo en el Diagrama de la base de datos.


Advertencia: solo una fila nula puede estar en la columna que ha establecido como única.

Puede hacer esto con un índice filtrado en SQL 2008:

CREATE UNIQUE NONCLUSTERED INDEX idx_col1 ON dbo.MyTable(col1) WHERE col1 IS NOT NULL;

El valor del campo Ver debe ser único a menos que sea NULO para un rango de respuestas.


El comando SQL es:

ALTER TABLE <tablename> ADD CONSTRAINT <constraintname> UNIQUE NONCLUSTERED ( <columnname> )

Vea la sintaxis completa here .

Si desea hacerlo desde un Diagrama de base de datos:

  • haga clic derecho en la tabla y seleccione ''Índices / claves''
  • haga clic en el botón Agregar para agregar un nuevo índice
  • ingrese la información necesaria en Propiedades en el lado derecho:
    • las columnas que desea (haga clic en el botón de puntos suspensivos para seleccionar)
    • establecer es exclusivo de Sí
    • dale un nombre apropiado

En SQL Server Management Studio Express:

  • Haga clic con el botón derecho en la tabla, elija Modificar o Diseñar (para versiones posteriores)
  • Haga clic derecho en el campo, elija Índices / Teclas ...
  • Haga clic en Agregar
  • Para Columnas , seleccione el nombre de campo que desea que sea único.
  • Para Tipo , elija la clave única .
  • Haga clic en Cerrar , guarde la tabla.

En algunas situaciones, podría ser conveniente asegurarse de que la clave Única no existe antes de crearla. En tales casos, el siguiente script podría ayudar:

IF Exists(SELECT * FROM sys.indexes WHERE name Like ''<index_name>'') ALTER TABLE dbo.<target_table_name> DROP CONSTRAINT <index_name> GO ALTER TABLE dbo.<target_table_name> ADD CONSTRAINT <index_name> UNIQUE NONCLUSTERED (<col_1>, <col_2>, ..., <col_n>) GO


En el diagrama del estudio de gestión, seleccione la tabla, haga clic con el botón derecho para agregar una nueva columna si lo desea, haga clic con el botón derecho en la columna y seleccione "Comprobar restricciones", allí puede agregar una.


Está buscando algo como lo siguiente

ALTER TABLE dbo.doc_exz ADD CONSTRAINT col_b_def UNIQUE column_b

here


Para crear una restricción ÚNICA en una o varias columnas cuando la tabla ya está creada, use el siguiente SQL:

ALTER TABLE TableName ADd UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

Para permitir el nombramiento de una restricción ÚNICA para la consulta anterior

ALTER TABLE TableName ADD CONSTRAINT un_constaint_name UNIQUE (ColumnName1,ColumnName2, ColumnName3, ...)

La consulta soportada por MySQL / SQL Server / Oracle / MS Access.


También encontré que puedes hacer esto a través de los diagramas de la base de datos.

Al hacer clic derecho en la tabla y seleccionar Índices / Teclas ...

Haga clic en el botón ''Agregar'' y cambie las columnas a la (s) columna (s) que desee que sean únicas.

El cambio es exclusivo de sí

Haga clic en cerrar y guarde el diagrama, y ​​lo agregará a la tabla.


ALTER TABLE [TableName] ADD CONSTRAINT [constraintName] UNIQUE ([columns])


ALTER TABLE dbo.<tablename> ADD CONSTRAINT <namingconventionconstraint> UNIQUE NONCLUSTERED ( <columnname> ) ON [PRIMARY]