Jak najłatwiej zaktualizować wiele wierszy w tabeli? Mam plik csv, który wygląda następująco:
|primary_key |value|
| 1 | xyz|
| 2 | abc|
| 3 | def|
...
Wiersze z tymi kluczami podstawowymi już istnieją w tabeli docelowej
Chciałbym zaktualizować tabelę docelową o te wartości. Czy istnieje składnia, dzięki której mogę napisać coś takiego:
update mytable set value = ('xyz', 'abc', 'def') where primary key = (1,2,3);
Przeglądając MySQL Update Reference , tę stronę ( MySQL - aktualizacja csv ), SO ( aktualizuj wiele wierszy , wiele aktualizacji db , aktualizuj wiele wierszy ), podejrzewam, że odpowiedź brzmi „nie”, ale chciałbym potwierdzić, że to jest prawdziwy.
Odpowiedzi:
Najpierw są przykładowe dane
Oto nowe zapytanie
Oto nowe zapytanie wykonane
źródło
UPDATE table INNER JOIN ... USING(id) SET ...
jest świetneZakładając, że nie chcesz ładować danych z pliku CSV do tabeli bazy danych, a następnie wykonać korelację
UPDATE
,wtedy powinieneś być w stanie użyć
CASE
źródło