Primeiro use SHOW INDEX FROM tbl_namepara descobrir o nome do índice. O nome do índice é armazenado na coluna chamada key_namenos resultados dessa consulta.
Desculpe senhor i tinha tentado antes de levantar a questão, mas não o seu trabalho
Ankur Mukherjee
@ Ankur Mukherjee: Eu esqueci de mencionar: Você tem que mudar tbl_name e index_name para o nome da sua tabela atual e o nome do índice real, respectivamente. Você pode ver os nomes no MySQL Query Browser. Você também pode fazer SHOW CREATE TABLE tbl_name.
precisa
Mensagem de erro: "Você tem um erro na sintaxe SQL; verifique o manual que corresponde à versão do servidor MySQL para obter a sintaxe correta perto de '(player_id, ano, torneio)' na linha 1"
Ankur Mukherjee
1
@Ankur Mukherjee: A maneira que sugeri é, na minha opinião, a melhor maneira de fazer isso.
precisa
1
Li em algum lugar da pergunta usando o phpMyAdmin ... A resposta fornecida por @systemovich deve ser marcada como aceita.
Pere
123
Você pode fazer DROPuma restrição exclusiva de uma tabela usando o phpMyAdmin, conforme solicitado, conforme mostrado na tabela abaixo. Uma restrição exclusiva foi colocada no campo Envergadura. O nome da restrição é o mesmo que o nome do campo, nesta instância.
É importante observar que a seção de índices é recolhida por padrão e é expandida por um link pequeno e sutil na fonte 12px, onde a seção está na captura de tela. Mas graças a você, eu encontrei. Abençoe seu rosto. 1
Jack
11
Os índices capazes de colocar uma restrição de chave exclusiva em uma tabela são PRIMARYe UNIQUEíndices.
Para remover a restrição de chave única sobre uma coluna, mas manter o índice, você pode remover e recriar o índice com o tipo INDEX.
Observe que é uma boa ideia que todas as tabelas tenham um índice marcado PRIMARY.
Promovido porque o @thomasrutter tocou no fato de que a remoção de uma restrição exclusiva pode afetar adversamente o desempenho da consulta - e isso pode ser atenuado substituindo o UNIQUEíndice por um regular INDEX.
Alex
4
Para adicionar restrição UNIQUE usando phpmyadmin, vá para a estrutura dessa tabela, localize abaixo e clique nela,
Para remover a restrição UNIQUE, da mesma maneira, vá para a estrutura e role para baixo até a guia Índices, localize abaixo e clique em soltar,
No MySQL 8.0.19, ALTER TABLE permite uma sintaxe mais geral (e padrão SQL) para descartar e alterar restrições existentes de qualquer tipo, em que o tipo de restrição é determinado a partir do nome da restrição: ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Exemplo:
CREATETABLE tab(id INT,CONSTRAINT unq_tab_id UNIQUE(id));-- checking constraint name if autogeneratedSELECT*FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME ='tab';-- dropping constraintALTERTABLE tab DROPCONSTRAINT unq_tab_id;
Respostas:
Uma restrição exclusiva também é um índice.
Primeiro use
SHOW INDEX FROM tbl_name
para descobrir o nome do índice. O nome do índice é armazenado na coluna chamadakey_name
nos resultados dessa consulta.Então você pode usar o DROP INDEX :
ou a sintaxe ALTER TABLE :
fonte
SHOW CREATE TABLE tbl_name
.Você pode fazer
DROP
uma restrição exclusiva de uma tabela usando o phpMyAdmin, conforme solicitado, conforme mostrado na tabela abaixo. Uma restrição exclusiva foi colocada no campo Envergadura. O nome da restrição é o mesmo que o nome do campo, nesta instância.fonte
Os índices capazes de colocar uma restrição de chave exclusiva em uma tabela são
PRIMARY
eUNIQUE
índices.Para remover a restrição de chave única sobre uma coluna, mas manter o índice, você pode remover e recriar o índice com o tipo
INDEX
.Observe que é uma boa ideia que todas as tabelas tenham um índice marcado
PRIMARY
.fonte
UNIQUE
índice por um regularINDEX
.Para adicionar restrição UNIQUE usando phpmyadmin, vá para a estrutura dessa tabela, localize abaixo e clique nela,
Para remover a restrição UNIQUE, da mesma maneira, vá para a estrutura e role para baixo até a guia Índices, localize abaixo e clique em soltar,
Espero que isso funcione.
Aproveitar ;)
fonte
Para o WAMP 3.0: Clique em Estrutura abaixo de Adicionar 1 coluna e você verá '- Índices' Clique em Índices e soltará o índice que desejar.
fonte
Se você deseja remover restrições exclusivas da tabela de banco de dados mysql, use alter table com drop index.
Exemplo:
criar tabela unique_constraints (unid int, nome_da_ atividade varchar (100), CONSTRAINT activety_uqniue UNIQUE (nome_da_ atividade), chave primária (unid));
Onde activty_uqniue é restrição UNIQUE para a coluna activity_name .
fonte
ao soltar chave exclusiva usamos índice
fonte
A restrição pode ser removida com sintaxe:
Exemplo:
db <> demo de violino
fonte
meu nome de tabela é compradores que possuem uma coluna de restrição exclusiva emp_id agora iam soltar o emp_id
etapa 1: exec sp_helpindex compradores, consulte o arquivo de imagem
etapa 2: copiar o endereço do índice
step3: alterar compradores da tabela eliminam a restrição [UQ__buyers__1299A860D9793F2E] alterar compradores da tabela eliminam a coluna emp_id
Nota:
em vez de compradores, altere-o para o nome da sua tabela :)
isso é todo o nome da coluna emp_id com restrições eliminado!
fonte
Primeira tabela de exclusão
vá para SQL
Use este código:
fonte