Ultimamente tentei usar vários comando MySQL para tentar resolver uma duplicidade em um banco de dados de meu site, eu precisava eliminar duplicidade, apagando um registro e deixando outro.
Procurei pela internet, tentei de tudo, mas eram soluções complicadas, até que achei isto aqui:
1 2 | USE `bd`; ALTER IGNORE TABLE `tabela` ADD UNIQUE INDEX(campos_que_nao_vao_repetir); |
Exemplo:
1 2 | USE `cadastro`; ALTER IGNORE TABLE `usuario` ADD UNIQUE INDEX(email); |
Ps: Lembrando que após isto, seu campo indicado será único, ou seja, não irá permitir mais duplicidade. Você pode adicionar mais de um campo.
olá não entendi sua explicação pois tenho uma tabela de e-mail, e mesmo e-mail esta se repetindo varias vezes ex: tiagoluisi@gmail.com, vamos supor que o mesmo e-mail tenha 10 registros, eu preciso apagar 09 e deixar um só válido, então preciso fazer uma varredura na tabela levantando os e-mails que tem mais que um (duplicado, triplicado, etc…) ai jogar isso dentro de uma view e apagar todos – 1. E eliminar todos os dados duplicados!
como eu faço isso?
Tiago, o que este comando acima fará com que o campo que você defina, no caso o email seja unico, então ele irá apagar tudo que for repetido, se tiver 20 registro repetidos ele apagará 19 e deixara 1. Entendeu?
Lembre-se de fazer backup antes de tentar este precodimento.
Excelente! Funcionou legal sem problemas. Valeu pela dica!
Rapaz, esse simples código resolveu meus problemas… Valeu!
Perfeito, funcionou certinho..
não fossem pessoas assim que compartilham os problemas e soluções.. o que seria de nós?
hehe
Abraço!
Otimo código cara, muito simples e funcionou perfeitamente em minhas tabelas. Estava com este mesmo problema e consegui eliminar todos os meu registro duplicados. vlw
Esta solução é para quando já temos dados duplicados, porém o que eu gostaria de saber era como impedir na hora do cadastro que isso aconteça.
Ola, tenho acessado o e-mail particular da empresa que meu marido trabalha de casa, tem como eu apagar os registros do acesso do meu computador, para que ele nao descubra
Daniela,
Que coisa feia linda. Olha quem procura acha, viu! risos…
bom diaestou arquivos duplicados em meu banco de dados porém eu utilizo 2 tabelas, sendo que eu devo deixar um unico registro guardar o menor valor e depois exibi-lo com a junção das tabelas .
Qual a estrutura da tabela?
ola,.. outras pessoas entraram no facebook do meu computador, e ficou registrado o endereço de email, toda vez q vou entrar vejo os emails dessas pessoas.. como faço pra eliminar todos eles? desde ja agradeço.
Bacana…funcionou.
show, resolveu um problema que já estava quebrando a cabeça, obarigado
ola, valeu pela dica, funcionou. Valeu!!
Bom dia gente, onde essa query será inserida? no banco ou na aplicação?
Como seria uma query para já verificar se o campo existe no momento da inserção?
Obrigado
Vlw pela dica,
E um detalhe importante e que o tipo do campo deve ser VARCHAR se for TEXT não funciona.
Funcionou comigo perfeitamente, obrigado por compartilhar com a galera, abraço.
MUUUUUUUUUUUUUUUUITO OBRIGADO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
GALERAq QUEM TEM DADOS REPETIDOS, PODE USAR ESTE COMANDO, FUNCIONA!!!
ME SALVOU CARA!!!!
Muito show!
Me economizou muito tempo
Valeu d+
Obrigado,
Funcionou perfeitamente!
Perfeito! Muito bom mesmo! simples, rápido e prático.
Parabéns!