Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Deletar dados duplicados

Pergunta simples: como apagar um dado inserido duplicado no banco sem deletar todos (foto abaixo de exemplo)? E como evitar que qualquer dado seja inserido novamente de maneira repetida. Existe alguma trava pra evitar o efeito do INSERT TO?

Grato!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

O ideal é criar chave primária no código da matrícula, tornando como registro único e evitando duplicidade.

Caso não tenha nenhum campo que difere o registro inserido duplicadamente, crie outra tabela com o comando distinct:

select distinct matricula, nome, comissao from ...

ou utilizando comando group by

select matricula, nome, comissao from ... group by matricula, nome, comissao

solução!

Para deletar não tem jeito visto que todos os campos são iguais, uma solução seria criar um insert da linha, excluir todos os valores duplicados e depois rodar o insert para o seu caso seria assim. INSERT INTO tbvendedores (MATRICULA, NOME, COMISSAO) VALUES('31236','João Geraldo da Fonseca',0.45); depois de salvar esse insert em um bloco de notas ou em outro editor sql, deletar os registros duplicados-> DELETE FROM tbvendedores WHERE MATRICULA = '31236'; depois de rodar o delete criar a chave primary para não ocorrer o problema e depois rode o insert salvo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software