Atualize várias linhas com chaves conhecidas sem inserir novas linhas se forem encontradas chaves inexistentes
Vamos imaginar que temos mesaItens...
table: items
item_id INT PRIMARY AUTO_INCREMENT
title VARCHAR(255)
views INT
Vamos imaginar que ele seja preenchido com algo como
(1, item-1, 10),
(2, item-2, 10),
(3, item-3, 15)
Eu quero fazermulti atualizar visualização para esses itens a partir de dados obtidos dessa matriz [item_id] => [visualizações]
'1' => '50',
'2' => '60',
'3' => '70',
'5' => '10'
IMPORTANTE! Observe que temos item_id = 5 na matriz, mas não temos item_id = 5 no banco de dados.
Eu posso usarINSERIR ... ATUALIZAÇÃO DUPLICATIVA, mas dessa maneira image_id = 5 será inserido nos itens do talbe. Como evitar a inserção de nova chave? Eu só quero que item_id = 5 seja ignorado porque não está na tabela.
Obviamente, antes da execução, posso selecionar as chaves existentes na tabela de itens; depois compare com as chaves na matriz; excluir chaves inexistentes e executarINSERIR ... ATUALIZAÇÃO DUPLICATIVA. Mas talvez haja algumas soluções mais elegantes?
Obrigado.