Qual é a maneira mais fácil de atualizar muitas linhas em uma tabela? Eu tenho um arquivo csv que se parece com isso:
|primary_key |value|
| 1 | xyz|
| 2 | abc|
| 3 | def|
...
Linhas com essas chaves primárias já existem na tabela de destino
Eu gostaria de atualizar a tabela de destino com esses valores. Existe sintaxe para que eu possa escrever algo como:
update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3);
Olhando pela Referência de Atualização do MySQL , este site ( MySQL - atualização csv ), SO ( atualização de várias linhas , várias atualizações de banco de dados , atualização de várias linhas ), suspeito que a resposta seja "não", mas gostaria de confirmar que isso é verdade.
Respostas:
Primeiro, aqui estão os dados de amostra
Aqui está a nova consulta
Aqui está a nova consulta executada
fonte
UPDATE table INNER JOIN ... USING(id) SET ...
é ótimoSupondo que você não deseja carregar os dados do arquivo CSV em uma tabela de banco de dados e faça uma correlação
UPDATE
,então você poderá usar um
CASE
fonte