1
resposta

Inserção/atualização de dados

Preciso fazer uma verificação de dados e não tenho ideia por onde começar. Meu cenário seria o seguinte: Tenho a tabela "clientes" e vou criar a tabela "clientes_temp". Preciso verificar se os dados da tabela "clientes_temp" estão na tabela "clientes" (se estiverem, então, devo dar um update) e caso não estejam, aí preciso inserir.

Grato!

1 resposta

Olá, Vilnei, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Você pode utilizar o comando INSERT TO na tabela original CLIENTES, inserindo os valores dos correspondentes dos campos da tabela CLIENTES_TEMP, e adicionar uma cláusula ON DUPLICATE KEY UPDATE, essa cláusula será responsável por atualizar os registros existentes na tabela "clientes" com as informações da tabela "clientes_temp", caso haja um conflito de chaves primárias. Note que é importante que a tabela "clientes" possua uma chave primária definida, que no exemplo acima foi assumida como id.

O código ficará assim:

INSERT INTO clientes (id, nome, email, telefone)
SELECT id, nome, email, telefone FROM clientes_temp
ON DUPLICATE KEY UPDATE
  nome = VALUES(nome),
  email = VALUES(email),
  telefone = VALUES(telefone);

Espero ter ajudado.

Caso surja alguma dúvida, ficarei à disposição.

Grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!