Hi,
bevor ich hier lange um den heißen Brei rede, komm ich lieber direkt zur Sache:
Ich habe eine *.csv-Datei mit mehreren Spalten und Zeilen getrennt durch ein ";". Die erste Spalte der Tabelle heißt "ID", und ist logischerweise auch der PK. Als nächstes kommen die Spalten in die die Daten aus der CSV-Datei sollen.
Mit dem Befehl "LOAD DATA INFILE" lade ich die Daten rein, das klappt auch alles super.
Das Problem ist nun, dass er die erste Spalte aus der CSV-Datei in die erste Spalte der Tabelle, also "ID" reinläd, wobei er "ID" überspringen soll.
Wie sag ich meiner MySQL-DB, dass er "ID" Überspringen soll, und erst bei Spalte 2 anfangen soll, mir die Daten zu Importieren?
Die Spalte "ID" ist vom Datentyp "INT", "NOT NULL" und "auto_increment".
bevor ich hier lange um den heißen Brei rede, komm ich lieber direkt zur Sache:
Ich habe eine *.csv-Datei mit mehreren Spalten und Zeilen getrennt durch ein ";". Die erste Spalte der Tabelle heißt "ID", und ist logischerweise auch der PK. Als nächstes kommen die Spalten in die die Daten aus der CSV-Datei sollen.
Mit dem Befehl "LOAD DATA INFILE" lade ich die Daten rein, das klappt auch alles super.
Das Problem ist nun, dass er die erste Spalte aus der CSV-Datei in die erste Spalte der Tabelle, also "ID" reinläd, wobei er "ID" überspringen soll.
Wie sag ich meiner MySQL-DB, dass er "ID" Überspringen soll, und erst bei Spalte 2 anfangen soll, mir die Daten zu Importieren?
PHP-Code:
mysql_query('LOAD DATA LOCAL INFILE "ecdl.csv" IGNORE INTO TABLE ecdl FIELDS TERMINATED BY ";" LINES TERMINATED BY "\\n";') or die('Error loading data file.<br>' . mysql_error());
Kommentar