Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL DROP UNIQUE CONSTRAINT


A restrição exclusiva permite que você imponha a exclusividade de registros em sua tabela de banco de dados e mantenha a integridade do banco de dados. Veja como eliminar a restrição exclusiva da tabela MySQL usando o comando MySQL DROP INDEX. Também é usado para remover a chave exclusiva no MySQL.


O que é restrição exclusiva no MySQL?


A restrição exclusiva para uma tabela é uma combinação de um ou mais campos que definem exclusivamente cada registro na tabela. Esses campos podem conter valores nulos, desde que a combinação de valores de campo seja exclusiva.

Bônus de leitura:DROP FOREIGN KY CONSTRAINT


Como eliminar restrições exclusivas no MySQL


Aqui estão as etapas para eliminar a restrição exclusiva no MySQL. Usaremos a consulta MySQL DROP INDEX para remover o índice existente de uma tabela.

Aqui está a sintaxe do comando MySQL DROP INDEX
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];

Na consulta acima, constraint_name é o nome da restrição e table_name é o nome da sua tabela de banco de dados.

Observe , se você deseja DROP INDEX ou DROP UNIQUE CONSTRAINT, você precisa usar a consulta DROP INDEX.



Bônus de leitura:MySQL DROP DATABASE



Você também pode fornecer 2 argumentos opcionais – algorithm_option e lock_option.

algorithm_option pode ter qualquer um dos 3 valores – default, inplace, copy. Dependendo do seu argumento, o MySQL usará algoritmos diferentes para eliminar restrições exclusivas.

Sua sintaxe é
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
  • padrão – tem o mesmo efeito de não usar algorithm_option argumento
  • copiar – A tabela onde você precisa excluir a restrição, será copiada e o índice será excluído da tabela de cópia. Durante esse período, operações simultâneas como INSERT e UPDATE não são permitidas.
  • inplace – Nesse caso, a tabela é reconstruída no local sem restrições. Embora essa opção permita operações simultâneas, ela bloqueia os metadados durante a execução.

Dependendo de lock_option O MySQL bloqueará/não bloqueará o acesso de leitura/gravação em suas tabelas enquanto a restrição estiver sendo excluída. lock_option tem a seguinte sintaxe
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

Aceita 4 valores:
  • padrão – permite a simultaneidade máxima para sua escolha de algoritmo. ele permite leituras e gravações simultâneas, se houver suporte. Caso contrário, permite apenas leituras simultâneas. Se isso também não for compatível, ele impõe o acesso exclusivo.
  • nenhum – se suportado, você pode ter leituras e gravações simultâneas. Caso contrário, o MySQL apresenta um erro.
  • compartilhado – se a opção compartilhada for compatível, você poderá ter leituras simultâneas, mas não gravações simultâneas.
  • exclusivo – esta opção impõe acesso exclusivo

Bônus de leitura:MySQL DROP COLUMN


Exemplo MySQL DROP UNIQUE CONSTRAINT


Digamos que você tenha a tabela a seguir com restrição exclusiva.
mysql> create table orders(order_id int primary key,
     order_date date,
     product varchar(255),
     sale int,
     constraint name unique (product)
     );



Aqui está a consulta SQL para eliminar a restrição exclusiva nome da tabela pedidos .
mysql> DROP INDEX name ON orders;

Bônus de leitura:MySQL DROP TABLE


Índice DROP PRIMARY KEY do MySQL


Como a chave primária também é um exemplo de restrição exclusiva na tabela, aqui está a sintaxe para descartar a restrição de chave primária nos pedidos da tabela.
mysql> DROP INDEX `PRIMARY` ON orders;

Neste caso, referimo-nos ao campo de chave primária como `PRIMARY` em vez de usar o nome do campo.



A Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!