Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CSV-Datei-Upload für die Statusaktualisierung und das Einfügen neuer Datensätze

Hier gibt es zwei Szenarien:

  1. Die Spalten der Tabelle stimmen genau mit den CSV-Spalten überein. in diesem Fall REPLACE ist die Antwort - es ist ein Schlüsselwort für LOAD DATA INFIlE siehe Dokumenteintrag

  2. Die Spalten der Tabelle stimmen nicht mit den CSV-Spalten überein:REPLACE würde zu Konflikten führen Datensätze entfernt und wieder eingefügt werden, wodurch die zusätzlichen Daten effektiv entfernt werden. In diesem Fall LOAD DATA INFIlE an sich nicht effektiv ist, benötigen Sie einen anderen Ansatz, indem Sie entweder Ihre Datei vorher filtern, Updates über PHP oder eine andere Methode durchführen.

In jedem Fall, wenn Sie dem Importprozess mehr "Logik" hinzufügen möchten, vielleicht LOAD DATA INFIlE ist nicht wirklich der richtige Ansatz, aber die Verwendung von temporären Tabellen kann durchaus dazu dienen, von all den Vorteilen zu profitieren, die Datenbanken bieten.