Como posso eliminar a "restrição de chave exclusiva" em uma coluna de uma tabela MySQL usando o phpMyAdmin?
Como posso eliminar a "restrição de chave exclusiva" em uma coluna de uma tabela MySQL usando o phpMyAdmin?
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 chamada key_name
nos resultados dessa consulta.
Então você pode usar o DROP INDEX :
DROP INDEX index_name ON tbl_name
ou a sintaxe ALTER TABLE :
ALTER TABLE tbl_name DROP INDEX index_name
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.
Os índices capazes de colocar uma restrição de chave exclusiva em uma tabela são PRIMARY
e 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
.
UNIQUE
índice por um regular INDEX
.
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 ;)
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.
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));
alter table unique_constraints drop index activty_uqniue;
Onde activty_uqniue é restrição UNIQUE para a coluna activity_name .
A restrição pode ser removida com sintaxe:
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:
CREATE TABLE tab(id INT, CONSTRAINT unq_tab_id UNIQUE(id));
-- checking constraint name if autogenerated
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'tab';
-- dropping constraint
ALTER TABLE tab DROP CONSTRAINT unq_tab_id;
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:
Bloco de citação
em vez de compradores, altere-o para o nome da sua tabela :)
Bloco de citação
isso é todo o nome da coluna emp_id com restrições eliminado!
Primeira tabela de exclusão
vá para SQL
Use este código:
CREATE TABLE service( --tablename
`serviceid` int(11) NOT NULL,--columns
`customerid` varchar(20) DEFAULT NULL,--columns
`dos` varchar(30) NOT NULL,--columns
`productname` varchar(150) NOT NULL,--columns
`modelnumber` bigint(12) NOT NULL,--columns
`serialnumber` bigint(20) NOT NULL,--columns
`serviceby` varchar(20) DEFAULT NULL--columns
)
--INSERT VALUES
INSERT INTO `service` (`serviceid`, `customerid`, `dos`, `productname`, `modelnumber`, `serialnumber`, `serviceby`) VALUES
(1, '1', '12/10/2018', 'mouse', 1234555, 234234324, '9999'),
(2, '09', '12/10/2018', 'vhbgj', 79746385, 18923984, '9999'),
(3, '23', '12/10/2018', 'mouse', 123455534, 11111123, '9999'),
(4, '23', '12/10/2018', 'mouse', 12345, 84848, '9999'),
(5, '546456', '12/10/2018', 'ughg', 772882, 457283, '9999'),
(6, '23', '12/10/2018', 'keyboard', 7878787878, 22222, '1'),
(7, '23', '12/10/2018', 'java', 11, 98908, '9999'),
(8, '128', '12/10/2018', 'mouse', 9912280626, 111111, '9999'),
(9, '23', '15/10/2018', 'hg', 29829354, 4564564646, '9999'),
(10, '12', '15/10/2018', '2', 5256, 888888, '9999');
--before droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD unique`modelnumber` (`modelnumber`),
ADD unique`serialnumber` (`serialnumber`),
ADD unique`modelnumber_2` (`modelnumber`);
--after droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD modelnumber` (`modelnumber`),
ADD serialnumber` (`serialnumber`),
ADD modelnumber_2` (`modelnumber`);