quinta-feira, 24 de junho de 2010
MySQL Duplicidade - Achar e Apagar - Duplicated data - find and erase
Para achar quantos itens estão duplicados em uma coluna MySQL:
SELECT CAMPO_DESEJADO, COUNT( * )
FROM TABELA_DESEJADA
GROUP BY CAMPO_DESEJADO
HAVING COUNT( * ) >1
Para apagar os dados que estão em duplicidade, escolha um campo chave, no meu caso é o campo email:
ALTER IGNORE TABLE `tabela_desejada` ADD UNIQUE INDEX(email)
Lembre-se que depois desse comando o campo e-mail não vai mais permitir cadastros em duplicidade
Criando um rotina em PHP e deixando apenas um item - PHP routine and leave only one item
<?php
include_once "CONN.php";
$q="SELECT email, COUNT( * ) as counter FROM TABLE GROUP BY email HAVING COUNT( * ) >1";
$r=$pdo->prepare($q);
$r->execute();
$a=0;
while ($l=$r->fetch()) :
$conta=0;
$contador=0;
$contador=$l[1];
$conta=$contador-1;
$d=$pdo->prepare("delete from TABLE where email='$l[0]' limit $conta");
if ($d->execute()) $a++;
endwhile;
echo "apagados $a e-mails";
?>
Assinar:
Postar comentários (Atom)
Linux bash file returns unexpected token `$'do\r''
open file in vi edit with vi filename.sh command; type in vi :set ff=unix command; save file with :wq It will save the file with unix...
-
Adicionar ♦ 10 dias a partir de hoje echo date('d/m/Y', strtotime("+10 days")); ♦ 10 dias a partir de uma data echo ...
-
JQuery - JavaScript and HTML at same page :: send.html <script> Dropzone.options.myDropzone= { url: "upload.php", ...
Bacana Luis, sou estudandte de Sistemas de informação, estou seguindo seu blog e coloquei um link para ele no meu(http://redeserrossoeprogramacao.blogspot.com/), falou, obrigado.
ResponderExcluir