Forum Doku Wiki Blog

Forumsarchiv 2005, Februar
Datenimport CSV -> MySQL

archivierte Beiträge lesen

  1. (DATENBANK) Datenimport CSV -> MySQL von Sebastian Becker, 22. 02. 2005, 12:36

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 12:36 Uhr von Sebastian Becker veröffentlicht.

Hallo,

ich möchte die Daten aus einer CSV-Datei in eine MySQL-Datenbank importieren. Die erste Zeile enthält die Feldnamen, die mit denen der entsprechenden Tabelle identisch sind. Die Tabelle hat allerdings mehr Felder als die CSV-Datei. Der Import klappt auch mittels phpMyAdmin und folgender SQL-Anweisung:

LOAD DATA LOCAL
INFILE '/is/htdocs/61037/www.meinedomain.de/oneadmin/export.txt'
REPLACE
INTO TABLE photo_gallery
FIELDS
TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"';

Allerdings werden die Felder nicht richtig zugewiesen. Die erste Zeile der CSV-Datei wird stattdessen auch importiert.

Auf welche Weise kann ich eine korrekte Zuweisung der Felder erreichen?

Danke für alle Hinweise, Grüße,

Sebastian Becker

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 12:48 Uhr von wahsaga veröffentlicht.

hi,

> Allerdings werden die Felder nicht richtig zugewiesen. Die erste Zeile der CSV-Datei wird stattdessen auch importiert.

das sollte sich erledigt haben, wenn du dich mit http://dev.mysql.com/doc/mysql/de/load-data.html beschäftigst, und die dort erwähnten weiteren parameter richtig benutzt.

gruß,
wahsaga


--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:14 Uhr von Sebastian Becker veröffentlicht.

Hallo, wahsaga,

> das sollte sich erledigt haben, wenn du dich mit http://dev.mysql.com/doc/mysql/de/load-data.html beschäftigst, und die dort erwähnten weiteren parameter richtig benutzt.

Danke für den Hinweis.

Beim Angeben einer Feldliste wie auf der genannten Seite beschrieben ...

LOAD DATA LOCAL
INFILE '/is/htdocs/61037/www.meinedomain.de/oneadmin/export.txt'
REPLACE
INTO TABLE photo_gallery (title,title_2,descp,descp_2,descpmore,descpmore_2,photo,creationyear,height,length,width,price,sizeunit,sold,photographer,category_id)
FIELDS
TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"';

meldet MySQL ...

#1064 - You have an error in your SQL syntax

Ich kann aber keinen Fehler finden - oder habe ich Tomaten auf den Augen?

Grüße,

Sebastian

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:20 Uhr von dedlfix veröffentlicht.

> Ich kann aber keinen Fehler finden - oder habe ich Tomaten auf den Augen?

Wahrscheinlich :-) Die Feldliste muss ganz nach hinten.

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:32 Uhr von Sebastian Becker veröffentlicht.

Hallo,

> > Ich kann aber keinen Fehler finden - oder habe ich Tomaten auf den Augen?

> Wahrscheinlich :-) Die Feldliste muss ganz nach hinten.

In der Beschreibung heißt es ...

-------------------------------------------------------------------

Wenn Sie Daten nur in einige Tabellenspalten einladen wollen, geben Sie eine Felderliste an:

mysql> LOAD DATA INFILE 'personen.txt'
           INTO TABLE personen (spalte1,spalte2,...);

Eine Felderliste müssen Sie ausserdem angeben, wenn die Reihenfolge der Felder in der Eingabedatei von der Reihenfolge der Tabellenspalten abweicht. Ansonsten kann MySQL nicht feststellen, wie er Eingabefelder Tabellenspalten zuordnen soll.

-------------------------------------------------------------------

Genau so habe ich es doch gemacht - oder etwa nicht?

Grüße,

Sebastian

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:42 Uhr von wahsaga veröffentlicht.

hi,

> Wenn Sie Daten nur in einige Tabellenspalten einladen wollen, geben Sie eine Felderliste an:
>
> mysql> LOAD DATA INFILE 'personen.txt'
>            INTO TABLE personen (spalte1,spalte2,...);
>
> Genau so habe ich es doch gemacht - oder etwa nicht?

bei dir steht doch wohl nach eigener aussage noch
> FIELDS
> TERMINATED BY '|'
> OPTIONALLY ENCLOSED BY '"';

dahinter - oder etwa nicht?

gruß,
wahsaga


--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:55 Uhr von Sebastian Becker veröffentlicht.

Hallo, wahsaga,

> bei dir steht doch wohl nach eigener aussage noch
> > FIELDS
> > TERMINATED BY '|'
> > OPTIONALLY ENCLOSED BY '"';
>
> dahinter - oder etwa nicht?

zumindest das TERMINATED BY '|' ist ja eine notwendige Information. Dies wird ja auch in der Anleitung so beschrieben ...

Grüße,

Sebastian

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 14:09 Uhr von wahsaga veröffentlicht.

hi,

> > bei dir steht doch wohl nach eigener aussage noch
> > > FIELDS
> > > TERMINATED BY '|'
> > > OPTIONALLY ENCLOSED BY '"';
> >
> > dahinter - oder etwa nicht?
>
> zumindest das TERMINATED BY '|' ist ja eine notwendige Information. Dies wird ja auch in der Anleitung so beschrieben ...

und an welcher P-O-S-I-T-I-O-N steht diese option im manual ...?

frontscheinwerfer sind beim gängigen auto nach auch ein vorgeschriebenes bestandteil - und du held wunderst dich jetzt gerade, dass deine karre nicht durch den TÜV kommt, weil du sie _hinten_ am auto angebracht hast ...?

gruß,
wahsaga


--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 14:25 Uhr von Sebastian Becker veröffentlicht.

Hallo,

> und an welcher P-O-S-I-T-I-O-N steht diese option im manual ...?

In Beispielen beschränkt man sich normalerweise nur auf eine Schreibweise - das heißt aber nicht unbedingt, daß diese vorgeschrieben ist. Dennoch habe ich die Position schon mehrfach umgestellt - es funktioniert aber immer noch nicht.

> frontscheinwerfer sind beim gängigen auto nach auch ein vorgeschriebenes bestandteil - und du held wunderst dich jetzt gerade, dass deine karre nicht durch den TÜV kommt, weil du sie _hinten_ am auto angebracht hast ...?

Der Vergleich hinkt. Bei einer Auflistung unabhängiger Anweisungen kommt es aus logischer Sicht nicht auf die Reihenfolge an. Mag sein, daß es bei mySQL anders ist oder daß ich die Logik nicht durchschaue ...

Grüße,

Sebastian

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 14:39 Uhr von wahsaga veröffentlicht.

hi,

> In Beispielen beschränkt man sich normalerweise nur auf eine Schreibweise - das heißt aber nicht unbedingt, daß diese vorgeschrieben ist. [...]
> Bei einer Auflistung unabhängiger Anweisungen kommt es aus logischer Sicht nicht auf die Reihenfolge an.

trotzdem bist du vermutlich nicht auf die idee gekommen, die schlüsselworte LOAD DATA LOCAL ganz ans ende des statements zu schreiben, oder?
also scheinst du ja wohl doch vom vorhandensein einer reihenfolge auszugehen.

gruß,
wahsaga


--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 15:06 Uhr von Sebastian Becker veröffentlicht.

Hallo, wahsaga und dedlfix,

> trotzdem bist du vermutlich nicht auf die idee gekommen, die schlüsselworte LOAD DATA LOCAL ganz ans ende des statements zu schreiben, oder?
> also scheinst du ja wohl doch vom vorhandensein einer reihenfolge auszugehen.

Ihr mögt Recht haben - nach mehreren Anläufen hat es mittlerweile geklappt  :-)

Dafür tauchen jetzt neue Probleme auf - aber das ist ein neues Kapitel ...

Danke für die Hilfe - manchmal kommt man eben nicht auf das Einfachste ...

Grüße,

Sebastian

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 13:59 Uhr von dedlfix veröffentlicht.

> In der Beschreibung heißt es ...

Das ist nur ein Besipiel in dem einige optionale Elemente fehlen. Die genaue Syntax mit der Reihenfolge aller Elemente steht am Anfang der angegebenen Seite.

Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 14:16 Uhr von Sebastian Becker veröffentlicht.

Hallo,

> Das ist nur ein Besipiel in dem einige optionale Elemente fehlen. Die genaue Syntax mit der Reihenfolge aller Elemente steht am Anfang der angegebenen Seite.

auch bei einer Umstellung der Reihenfolge ...
LOAD DATA LOCAL
INFILE '/is/htdocs/61037/www.mydomain.de/oneadmin/export.txt'
REPLACE
INTO TABLE photo_gallery
FIELDS
TERMINATED BY '|'
(title,title_2,descp,descp_2,descpmore,descpmore_2,photo,creationyear,height,length,width,price,sizeunit,sold,photographer,category_id);


... bekomme ich eine Fehlermeldung  :-(


Grüße,

Sebastian


Datenimport CSV -> MySQL

Der folgende Beitrag wurde am 22. 02. 2005, 14:40 Uhr von wahsaga veröffentlicht.

hi,

> auch bei einer Umstellung der Reihenfolge ...
> ... bekomme ich eine Fehlermeldung  :-(

die da lautet?

gruß,
wahsaga


--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4