Какой самый простой способ обновить много строк в таблице? У меня есть CSV-файл, который выглядит следующим образом:
|primary_key |value|
| 1 | xyz|
| 2 | abc|
| 3 | def|
...
Строки с этими первичными ключами уже существуют в целевой таблице
Я хотел бы обновить целевую таблицу с этими значениями. Есть ли синтаксис, чтобы я мог написать что-то вроде:
update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3);
Просматривая MySQL Update Reference , этот сайт ( MySQL - csv update ), SO ( обновить несколько строк , несколько обновлений БД , обновить несколько строк ), я подозреваю, что ответ «нет», но я хотел бы подтвердить, что это правда.
Ответы:
Сначала вот пример данных
Вот новый запрос
Вот новый запрос выполнен
источник
UPDATE table INNER JOIN ... USING(id) SET ...
отличноПредполагая, что вы не хотите загружать данные из файла CSV в таблицу базы данных, а затем делать коррелированные
UPDATE
,тогда вы должны быть в состоянии использовать
CASE
источник