Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino
Localização: MG/Belo Horizonte/Brasil
Contato:

DELETANDO registros duplicados

15-07-2009 08:35

MOVIDO: de PHP para MySQL

Olá, bom dia!,

Estou precisando de um forcinha pra montar um código que realmente funcione e que seja ágil para DELETAR registros DUPLICADOS no MySQL.

O Código é em PHP.

set_time_limit(0); $tabela = "contatos"; $campo = "email"; $SQL = mysql_query("SELECT email, COUNT(*) quant FROM $tabela GROUP BY $campo HAVING quant > 1") or die(mysql_error()); while ($rs = mysql_fetch_assoc($SQL)) { extract($rs); $quant--; $xx = mysql_num_rows($SQL); mysql_query("DELETE FROM $tabela WHERE $campo='{$email}' LIMIT {$quant}") or die(mysql_error()); } if ($xx > 0) { echo "<center><b><font color='#FF0000'>Atenção!</font></b><br>Havia em seu banco de dados, <font color='#FF0000'>$xx</font>&nbsp; contatos com mais de 1 registro. <br>Os registros excedentes foram excluídos, mantendo apenas 1 registro de cada contato!<br>"; } else { echo "<center><b><font color='#FF0000'>Atenção!</font></b><br>Não há registros duplicados em seu banco de dados!<br>"; }

Este código acima esta sendo utilizado em um MySQL com mais de 100mil registros. Estava funcionando normalmente só que de uns dias pra cá, ao invés de DELETAR somente os registros com mais de 1 email, como estava sendo, passou a DELETAR todo o registros mantendo apenas 1. Sorte que realizei um backup antes. Desde então vendo fazendo testes e não consigo fazê-lo funcionar novamente, insiro os Registros e rodo o Código e ocorre o mesmo, ao invés de DELETAR somente os registros duplicados, está DELETANDO praticamente todos os registros mantendo apenas 1.

Não sei o que está acontecendo. Você pode me ajudar?? Se sim me informe se há algo de errado neste código. Se conhecer um código mais simples e ágil, por favor me informe, pois preciso muito deste código funcionando sem problemas, pois trabalho com publicidade através de e-mail marketing para empresas e clientes e preciso envitar registros duplicados no sistema.

Agradeço a ajuda que me for dada.

Tenha uma boa noite.

Att,
dfm2501
0
Editado pela última vez por web em 15-07-2009 08:48, em um total de 1 vez.
Razão: use a tag Code para seus scripts
Gerenciador de Contatos automatizado com auto-responder. Soluções WEB.
http://www.divulguefacil.net
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

DELETANDO registros duplicados

15-07-2009 08:51

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado