Ir para conteúdo

POWERED BY:

Arquivado

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

Sardinha

Verificar se o registro já existe antes de inserir

Recommended Posts

Gostaria de saber se tem como verificar se o resistro existe ante de inserir em apenas uma query.

Pois fazer mais de um query eu consigo, mas desejaria aprender a fazer tudo em uma só!

Alguem pode me ajudar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que pode ser feito e tratar o erro de chave duplicada.

 

Exemplo em plsql (Oracle)

 

begin
  insert into ....;
exception
  when when dup_val_on_index then
    null;-- duplicado , nao faz nada
  when others then
    raise;--deu erro !! 
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando ocorrer o erro de tentativa de duplicação de chave, internamente na biblioteca do MySQL, haverá um código de erro (1062) que poderá ser obtido pela API na linguagem que você estiver utilizando, se for o caso. Então você ficará sabendo que o tal erro ocorreu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu problema é o MySQL rateando devido a chave duplicada use

 

INSERT IGNORE INTO TABLE...

ou

REPLACE INTO TABLE...

 

o primeiro mantem o registro mais antigo, o outro coloca o novo.

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.