sql >> Base de Datos >  >> RDS >> Mysql

MySQL DROP RESTRICCIÓN ÚNICA

Unique Constraint le permite imponer la unicidad de los registros en la tabla de su base de datos y mantener la integridad de la base de datos. Aquí se explica cómo eliminar una restricción única de la tabla MySQL usando el comando MySQL DROP INDEX. También se usa para eliminar la clave única en MySQL.

¿Qué es la restricción única en MySQL?

La restricción única para una tabla es una combinación de uno o más campos que definen de manera única cada registro en la tabla. Estos campos pueden contener valores nulos siempre que la combinación de valores de campo sea única.

Lectura adicional:DROP FOREIGN KY CONSTRAINT

Cómo Eliminar Restricciones Únicas en MySQL

Estos son los pasos para eliminar la restricción única en MySQL. Usaremos la consulta DROP INDEX de MySQL para eliminar el índice existente de una tabla.

Aquí está la sintaxis del comando MySQL DROP INDEX

DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];

En la consulta anterior, constraint_name es el nombre de la restricción y table_name es el nombre de la tabla de su base de datos.

Tenga en cuenta , ya sea que desee DROP INDEX o DROP UNIQUE CONSTRAINT, debe usar la consulta DROP INDEX.

Lectura adicional:MySQL DROP DATABASE

También puede proporcionar 2 argumentos opcionales:algorithm_option y lock_option.

opción_algoritmo puede tener cualquiera de los 3 valores:predeterminado, en el lugar, copia. Dependiendo de su argumento, MySQL usará diferentes algoritmos para eliminar la restricción única.

Su sintaxis es

ALGORITHM [=] {DEFAULT|INPLACE|COPY}
  • predeterminado:esto tiene el mismo efecto que no usar algorithm_option argumento
  • copiar:la tabla en la que necesita eliminar la restricción se copiará y el índice se eliminará de la tabla de copia. Durante este tiempo, no se permiten operaciones simultáneas como INSERTAR y ACTUALIZAR.
  • inplace:en este caso, la tabla se reconstruye en su lugar sin restricciones. Aunque esta opción permite operaciones concurrentes, coloca un bloqueo de metadatos durante la ejecución.

Dependiendo de lock_option MySQL bloqueará/no bloqueará el acceso de lectura/escritura a sus tablas mientras se elimina la restricción. lock_option tiene la siguiente sintaxis

LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

Toma 4 valores:

  • predeterminado:permite la máxima concurrencia para su elección de algoritmo. permite lecturas y escrituras simultáneas si es compatible. Si no, solo permite lecturas simultáneas. Si eso tampoco es compatible, impone el acceso exclusivo.
  • ninguno:si es compatible, puede tener lecturas y escrituras simultáneas. De lo contrario, MySQL da un error.
  • compartido:si se admite la opción compartida, puede tener lecturas simultáneas, pero no escrituras simultáneas.
  • exclusivo:esta opción impone acceso exclusivo

Lectura adicional:MySQL DROP COLUMN

Ejemplo de RESTRICCIÓN ÚNICA DROP de MySQL

Digamos que tiene la siguiente tabla con una restricción única.

mysql> create table orders(order_id int primary key,
     order_date date,
     product varchar(255),
     sale int,
     constraint name unique (product)
     );

Aquí está la consulta SQL para eliminar la restricción única nombre de la tabla pedidos .

mysql> DROP INDEX name ON orders;

Lectura adicional:MySQL DROP TABLE

Índice de CLAVE PRIMARIA DROP de MySQL

Dado que la clave principal también es un ejemplo de restricción única en la tabla, esta es la sintaxis para descartar la restricción de clave principal en los pedidos de la mesa.

mysql> DROP INDEX `PRIMARY` ON orders;

En este caso, nos referimos al campo de clave principal como "PRIMARIO" en lugar de utilizar el nombre de campo.

Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!