Problem mit einlesen einer CSV in MySQL

S

StephanSch

Aktives Mitglied
Thread Starter
Dabei seit
24.07.2006
Beiträge
406
Reaktionspunkte
1
Ich habe eine Excel Datei (XLS) als CSV abgespeichert, damit ich diese dann in eine MySQL DB einlesen kann. Nun ist das Problem, wenn in einem Felder beispielsweiße "blindtext" mit Anführungsstrichen steht, kann bricht die MySQL Import Funktion ab, da Felder mit "" eingeschlossen sein müssen.

Das nächste Problem wäre, angenommen ich habe in der MySQL 2 Felder eines heißt "Titel" das andere "Untertitel" nun importiere ich als erstes die Titel.csv und als nächstes Untertitel.csv, anstatt beide zusammengehörigen Felder in eine Zeile zu schreiben, legt die MySQL einfach neue Zeilen an für den 2ten Import?

Kann ich eine CSV nur richtig mit einem PHP script einlesen, aber eigentlich müsste es doch auch mit der Import Funktion der MySQL gehen?

DANKE für eure Hilfe ;-)
 
Hallo,

1. Die Anführungszeichen mußt Du maskieren, das könntest Du aber auch vor dem Import mit einem Texteditor machen, z.B. suchen nach " und ersetzen durch \" (habe das Maskierungszeichen gerade nicht im Kopf)

2. Wenn Du zwei Importdateien hast, titel.csv und untertitel.csv ist es korrekt das MySQL zwei Tabellen.
Entweder beides in eine Datei zusammenfügen oder, falls das möglich ist, MySQL über eine Steuerdatei/-anweisung sagen, Datei untertitel. csv gehört zur vorherigen Datei.

3. Ja, ein Import geht auch so. Kommando "LOAD DATA INFILE".

Viele Grüße
 
Zuletzt bearbeitet:
Okay, angenommen ich habe eine CSV, worin "Titel" und "Untertitel" in 2 Spalten vorhanden sind. Wie kann ich in MySQL angeben, in welches MySQL Feld das entsprechende CSV Feld schreibt? Ich muss bei dem MySQL Import ja den "Spaltennamen" angeben?
 
hast du mal die anleitung von dem kommando gelesen?
da kann man die felder angeben...
 
Zurück
Oben Unten