Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Palucoski

Se existir duplicado continuar executando o INSERT

Recommended Posts

Possuo duas chaves primárias em uma tabela(ID e Data) e possuo uma rotina de importação que joga de um arquivo txt pra dentro dessa tabela, queria saber se tem como fazer com que ao inserir um registro duplicado ele ignore o mesmo e continue a fazer a importação sempre ignorando os registros que ja existirem dentro dessa tabela...

 

 

Agradeço a atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Possuo duas chaves primárias em uma tabela(ID e Data) e possuo uma rotina de importação que joga de um arquivo txt pra dentro dessa tabela, queria saber se tem como fazer com que ao inserir um registro duplicado ele ignore o mesmo e continue a fazer a importação sempre ignorando os registros que ja existirem dentro dessa tabela...

 

 

Agradeço a atenção

Não, você não possui DUAS chaves primárias na tabela. Você possui UMA chave primária e ela é composta, ok?

 

Seguinte:

 

Se você quer fazer o insert, e caso encontre um registro que já exista a chave primária, você tem 2 opções: ignorar o erro e manter o registro que já está na tabela ou substituir o registro que já está na tabela.

 

Parar MANTER o registro que já está na tabela você continua utilizando o insert normal, porém você adiciona a palavra IGNORE:

 

INSERT IGNORE INTO tabela (campos) VALUES (valores);

Para SUBSTITUIR o registro que está na tabela pelo que está no seu txt, você utiliza o comando REPLACE:

 

REPLACE INTO tabela (campos) VALUES (valores);

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrando que o replace nao eh soh subistituiçao ele insere tudo usando a q tah ingressando agora em caso de duplicidade.

 

Insert ignore tambem insere tudo, soh q mantendo a linha velha em caso de duplicidade

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.