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!