Heim >Datenbank >MySQL-Tutorial >Wie kann ich beim Importieren einer CSV-Datei in MySQL mit LOAD DATA INFILE Spalten überspringen?
Beim Importieren von Daten aus einer CSV-Datei in eine MySQL-Tabelle ist es nicht immer notwendig, alle Spalten zuzuordnen. Manchmal ist es wünschenswert, irrelevante Spalten zu überspringen oder die Zuordnung von Spalten zu vermeiden, bei denen Datenkonflikte bestehen.
Problem:
Stellen Sie sich eine CSV-Datei mit 11 Spalten vor:
col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11
Und eine MySQL-Tabelle mit nur 9 Spalten:
col1, col2, col3, col4, col5, col6, col7, col8, col9
Das Ziel ist der Import von Spalten 1 bis 8 aus der CSV in die ersten 8 Spalten der MySQL-Tabelle, aber überspringen Sie die Spalten 9 und 10 und ordnen Sie dann Spalte 11 der CSV der Spalte 9 der Tabelle zu.
Lösung:
Um Spalten in der CSV während des Imports zu überspringen, verwenden Sie eine @dummy-Variable in der LOAD DATA INFILE Befehl:
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table ( col1, @dummy1, col2, @dummy2, col3, col4, col5, col6, col7, col8, @dummy3, @dummy4, col9 ) FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n'
In diesem Befehl:
Diese Lösung ermöglicht die selektive Zuordnung von CSV-Spalten zu Tabellenspalten, auch wenn diese sich in der Anzahl unterscheiden.
Das obige ist der detaillierte Inhalt vonWie kann ich beim Importieren einer CSV-Datei in MySQL mit LOAD DATA INFILE Spalten überspringen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!