# csv in MySQL Datenbank importieren



## antoaneta (7. Dezember 2006)

Hallo Leute,

ich muss eine CSV-Datei in eine MySQL Datenbank importieren. In der CSV hab ich 2 Einträge, die mir Problemme in der Datenbank beschaffen und zwar ich hab eine Spalte Datum (Format : dd.MM.yyyy) und Preis (Format : 2,346). Damit ich aber mit diesen Spalten auch rechnen kann, hab ich die in der Datenbank Datum : date und Preis : double genannt. Wenn ich aber mit LOAD DATA INFILE die DAten importiere, bekomme ich in diese Spalten 0000-00-00 und 0. Ich hab in java 2 funktionen geschrieben dateUpdate und costUpdate, die die Formate umwandeln. Aber wenn ich LOAD DATA INFILE aufrufe und dann diese funktionen ausführen möchte, komme ich uberhaupt nicht zu denen weil ich folgende Fehlermeldung bekomme: 


com.mysql.jdbc.MysqlDataTruncation: Data truncation: Daten abgeschnitten für Spalte 'cost' in Zeile 1

Meine Frage ist:
wie werden Daten in MySQL importiert, wenn der Format anders ist?
Ich hab mir gedacht, dass ich die CSV Datei zeilenweise lese und insert benutze. Ist diese Möglichkeit besser?
Ich möchte nicht 2 Tabellen erzeugen, wo die eine nur varchar-Werte hat und dann die in die gewünschte Formate umwandeln. Ich werde oft eine CSV-datei in diese Datenbank importieren, ich möchte nicht jedes mal eine "Zwischentabelle" erzeugen und dann wieder löschen?

Hat jemand einen Vorschlag?

Gruß


----------



## XChris (8. Dezember 2006)

Bitte lies die Hilfe von MySQL mal ganz genau. Diese läst einen sehr variablen (und Deine Probleme einfach lösenden) Weg zu, beliebige Formate zu wandeln.

Chris

PS:
http://dev.mysql.com/doc/refman/5.1/de/load-data.html


----------

