Istnieją dwa scenariusze:
-
kolumny tabeli dokładnie odpowiadają kolumnom csv. w takim przypadku
REPLACE
jest odpowiedzią - to słowo kluczowe doLOAD DATA INFILE
zobacz wpis w dokumentacji -
kolumny tabeli nie pasują do kolumn csv:REPLACE spowodowałoby konflikt rekordy do usunięcia i ponownego wstawienia, skutecznie usuwając dodatkowe dane. W takim przypadku
LOAD DATA INFILE
nie jest skuteczny sam w sobie, potrzebujesz innego podejścia z wcześniejszym filtrowaniem pliku, wykonywaniem aktualizacji przez php lub inną metodą.
W każdym razie, jeśli chcesz dodać więcej "logiki" do procesu importu, może LOAD DATA INFIlE
nie jest tak naprawdę właściwym podejściem, ale używanie tabel tymczasowych może równie dobrze przynieść korzyści ze wszystkich dostępnych baz danych.