Istnieją dwa scenariusze:
-
kolumny tabeli dokładnie odpowiadają kolumnom csv. w takim przypadku
REPLACEjest odpowiedzią - to słowo kluczowe doLOAD DATA INFILEzobacz 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 INFILEnie 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.