Banco de dados 35 visualizações

Como encontrar e remover registros duplicados em uma tabela do banco de dados

Ver no WHMCS

Como encontrar e remover registros duplicados em uma tabela do banco de dados

Oi! Aqui é a Sensei da GeHost 🥋 e hoje vou te ensinar, com bastante calma, como lidar com aqueles registros "duplicados" que às vezes aparecem numa tabela do banco de dados — tipo o mesmo cliente cadastrado duas vezes, ou o mesmo produto repetido na loja. Vamos com calma, passo a passo, sem pressa.

Antes de mais nada: mexer direto no banco de dados é uma tarefa "de bisturi" — dá pra resolver o problema rapidinho, mas também dá pra causar uma dor de cabeça se for feito com pressa. Por isso, siga os passos na ordem certinha, principalmente o do backup. 😉

1. O que são registros duplicados (e por que isso acontece)?

Um registro duplicado é quando a mesma informação aparece repetida numa tabela — por exemplo, o mesmo e-mail de cliente cadastrado duas vezes, ou o mesmo pedido gravado em dobro. Isso costuma acontecer por causa de um formulário enviado duas vezes, uma importação de dados repetida, ou algum plugin/sistema que salvou a informação mais de uma vez.

Não tem problema, é uma coisa comum — o importante é resolver com cuidado.

2. Faça um backup antes de qualquer coisa

Essa é a etapa mais importante de tudo. Antes de tocar em qualquer registro, tire uma cópia de segurança do banco de dados. Assim, se algo sair diferente do esperado, dá pra voltar tudo como estava, tranquilamente.

Tela de Backup do cPanel com opções de backup completo e parcial

No painel do seu site (cPanel), você encontra a opção de Backup — dá pra gerar um backup completo da conta ou só do banco de dados específico. Se tiver qualquer dúvida nessa parte, pode chamar nosso suporte que a gente te ajuda a gerar esse backup com segurança.

3. Acesse o banco de dados

Os registros ficam guardados dentro de tabelas do banco de dados MySQL do seu site. Pra visualizar e mexer neles, o caminho é pelo phpMyAdmin, que fica dentro da área "Bancos de Dados MySQL" do seu cPanel.

Tela de Bancos de Dados MySQL do cPanel
  1. Entre no painel.gehost.com.br e acesse o cPanel do seu serviço de hospedagem.
  2. Procure a seção "Bancos de Dados MySQL" ou o ícone do phpMyAdmin.
  3. Selecione o banco de dados do seu site e localize a tabela onde está o registro duplicado (ex.: tabela de clientes, de pedidos, de produtos).

4. Como encontrar os registros duplicados

Dentro do phpMyAdmin, existe uma aba chamada "SQL", onde você pode digitar um comando pra buscar as duplicidades. Um comando simples e bem usado é este (troque tabela e coluna pelos nomes reais da sua tabela):

SELECT coluna, COUNT(*) AS quantidade
FROM tabela
GROUP BY coluna
HAVING COUNT(*) > 1;

Esse comando mostra quais valores aparecem repetidos e quantas vezes cada um se repete. Por exemplo, se a coluna for "email", ele te mostra todos os e-mails que estão cadastrados mais de uma vez.

5. Como remover os duplicados com segurança

A forma mais segura é manter sempre o registro mais antigo (geralmente o de menor ID) e remover só as cópias extras. Um jeito comum de fazer isso é:

DELETE t1 FROM tabela t1
INNER JOIN tabela t2
WHERE t1.id > t2.id
AND t1.coluna = t2.coluna;

Esse comando compara os registros pela coluna que está duplicada e apaga os que têm ID maior (ou seja, os mais novos), mantendo o original.

💡 Dica da Sensei: antes de rodar um comando de exclusão (DELETE), rode primeiro só o SELECT equivalente pra CONFERIR quais linhas seriam apagadas. Só depois de ter certeza, execute o DELETE. Assim você evita apagar algo que não devia.

6. Não se sentiu confortável em mexer no SQL?

Sem problema nenhum! Editar o banco de dados diretamente não é uma tarefa obrigatória pra todo mundo — muita gente prefere deixar essa parte mais técnica com quem já mexe com isso no dia a dia. Se você teve um serviço entregue recentemente pela GeHost, lembre que conta com 30 dias de suporte gratuito após a entrega; fora desse período, é só falar com a nossa equipe pelo painel do cliente que a gente te orienta ou já resolve isso pra você.

Resumo rapidinho

  • Sempre faça backup antes de mexer no banco.
  • Use o phpMyAdmin (dentro do cPanel) pra acessar as tabelas.
  • Primeiro encontre os duplicados com um SELECT ... GROUP BY ... HAVING COUNT(*) > 1.
  • Confira com calma antes de rodar o DELETE.
  • Na dúvida, chame o suporte — a gente tá aqui pra ajudar. 😊

Foi tranquilo até aqui? Qualquer coisa, é só chamar a gente pelo painel — combinado? 🥋

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.