Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alexandremanowar

[Resolvido] Eliminar campo duplicado

Recommended Posts

Bom dia

 

Pessoal tenho uma tabela onde um dos campos é armazendo RG, esse campo não era bloqueado para evitar conteúdo repetido, então tenho vários rg repetidos, porém agora preciso limpar essa tabela e deixar apenas um RG de cada, como faço para eliminar os dados repetidos nessa tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem certeza que você pode simplesmente excluir eles?

 

não importa com o que estão ligados?

 

seria simples se não fosse um problema...

 

delete from tabela where id in(
  select id from tabela
  where rg in(select distinct(rg) from tabela)
)

para testar faz primeiro o select e verifique se os registros podem mesmo ser deletados...

 

o problema com isso é que muito provavelmente em outras tabelas deve haver ligação com os RGs que serão excluidos...

 

você teria que fazer varios selects para ver os registros dupados e setar para um único id do mesmo RG, para então excluir os RGs...

 

 

editando... pensando melhor isso nao vai funcionar como imaginei, mas eh quase isso.... nao esquece de cuidar com as relacoes... se tu excluir antes de verificar, depois será praticamente impossivel manter a integridade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa beleza

 

então não vai ter problemas pode eliminar tranquilo, não tem vinculo

 

Só uma pergunta o campo id que você esta usando seria o meu campo de chave primária auto_increment? NO meu caso ficaria isso:

 

delete from funcionario where codigo in(  select codigo from funcionario  where rg in(select distinct(rg) from funcionario))

seria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pô, legal.

 

por isso eh bom ajudar as pessoas. querendo ou nao agente aprende junto.

 

nao sabia que isso funcionava em tabelas jah populadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.