Heim >Datenbank >MySQL-Tutorial >Wie kann ich beim Importieren einer CSV-Datei in MySQL mit LOAD DATA INFILE Spalten überspringen?

Wie kann ich beim Importieren einer CSV-Datei in MySQL mit LOAD DATA INFILE Spalten überspringen?

DDD
DDDOriginal
2024-11-17 18:21:02232Durchsuche

How can I Skip Columns When Importing a CSV file into MySQL using LOAD DATA INFILE?

Überspringen von Spalten beim CSV-Import mit MySQLs LOAD DATA INFILE

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:

  • @dummy1, @dummy2, @dummy3 und @dummy4 sind Benutzervariablen, die die Werte der übersprungenen Spalten enthalten.
  • Die Spalten 9 und 10 der CSV-Datei werden @dummy3 bzw. @dummy4 zugewiesen, also werden sie es tun effektiv verworfen werden.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn