CSV-Daten in eine MySQL-Tabelle mit selektiver Spaltenzuordnung importieren
Beim Importieren einer CSV-Datei mit Spalten, die über die Tabellenstruktur hinausgehen oder nicht dieser entsprechen , kann es erforderlich sein, bestimmte Spalten während des Importvorgangs zu überspringen. In diesem Fall wollen wir die Spalten 9 und 10 aus einer CSV-Datei überspringen und Spalte 11 der Spalte 9 in der MySQL-Tabelle zuordnen.
Um Spalten während des LOAD DATA INFILE-Vorgangs zu überspringen, bietet MySQL einen Mechanismus zum Zuweisen unerwünschte Werte auf eine benutzerdefinierte Variable übertragen und diese Variable dann bei der Spaltenzuordnung vollständig ignorieren.
Das folgende modifizierte Beispiel demonstriert diese Technik:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, col11)
In diesem Beispiel ist @dummy1, Die benutzerdefinierten Variablen @dummy2 und @dummy3 werden erstellt, um unerwünschte Daten aus den Spalten 9, 10 bzw. 11 zu speichern. Allerdings wird Spalte 11 dann in der Tabellendefinition explizit Spalte 9 zugewiesen.
Mit diesem Ansatz überspringt das System die Spalten 9 und 10 aus der CSV-Datei und ordnet die Spalten 1-8 und 11 erfolgreich den entsprechenden zu Spalten in der MySQL-Tabelle.
Das obige ist der detaillierte Inhalt vonWie importiere ich CSV-Daten mit selektiver Spaltenzuordnung und übersprungenen Spalten in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!