Blog corporativo
Artigos, scripts e dicas postados pelos colaboradores. Não são postados scritps relacionados à trabalhos feitos para clientes.
Artigos, scripts e dicas postados pelos colaboradores. Não são postados scritps relacionados à trabalhos feitos para clientes.
Infelizmente nem sempre um banco de dados é criado da forma correta, acarretando além dos diversos problemas, a duplicidade de dados, então é necessários fazer a normalização de um banco de dados, e é muito comum que se começe removendo os registros duplicados.
Para remover registros duplicados existem N métodos, o maior problema é: Como localizar esses registros?
A primeira vista isso realmente parece algo difícil, mas uma query simples resolve tudo, abaixo o script completo:
<?php
$servidor = "localhost";//Geralmente é localhost mesmo
$nome_usuario = "root";//Nome do usuário do mysql
$senha_usuario = ""; //Senha do usuário do mysql
$nome_do_banco = "receitas"; //Nome do banco de dados
$conecta = mysql_connect($servidor,$nome_usuario,$senha_usuario) or die (mysql_error());
mysql_select_db($nome_do_banco,$conecta) or die (mysql_error());
$sql = mysql_query("SELECT *, COUNT(email) reg_dup FROM usuarios GROUP BY email HAVING reg_dup > 1");
while ($dados = mysql_fetch_array($sql)){
extract($dados);
echo $email.' - '.$reg_dup.'<br>';
}
?>
CREATE TABLE `usuarios` ( `id` int(10) unsigned NOT NULL auto_increment, `nome` varchar(50) default NULL, `email` varchar(50) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM ;