LOAD DATA Problem

LOAD DATA Problem

am 31.01.2006 14:43:11 von dirk.raecke

Hallo,

ist evtl. simpel, aber folgendes Problem.

Ich habe ne ;-getrennte Datei mit 20 Werten, von denen brauche ich aber nur etwa 6, krieg ich diese 6 (also z.B. Wert 5, 9 , 13,
14, 19,20) aus der Datei in eine Tabelle, oder muss ich mir ne Puffertabelle mit 20 Spalten zunutze amchen?

Danke
Dirk

Re: LOAD DATA Problem

am 31.01.2006 15:24:31 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net

Re: LOAD DATA Problem

am 31.01.2006 15:57:16 von Dominik Echterbruch

Andreas Kretschmer wrote:
>>
>>ist evtl. simpel, aber folgendes Problem.
>>
>>Ich habe ne ;-getrennte Datei mit 20 Werten, von denen brauche ich aber nur etwa 6, krieg ich diese 6 (also z.B. Wert 5, 9 , 13,
>>14, 19,20) aus der Datei in eine Tabelle, oder muss ich mir ne Puffertabelle mit 20 Spalten zunutze amchen?
>
>
> awk 'BEGIN{FS=";";OFS=";"}{print $5,$9,$13,$14,$19,$20}' < infile > outfile

Warum so umständlich? Hätte der OP die Doku gewissenhaft gelesen, wäre
ihm dieser Absatz aufgefallen:


You can also discard an input value by assigning it to a user variable
and not assigning the variable to a table column:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @dummy, column2, @dummy, column3)


Vielleicht nicht optimal, aber man spart sich den awk vorher :)


Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786

Re: LOAD DATA Problem

am 31.01.2006 17:17:10 von dirk.raecke

ja danke
habs gesehen.

aber es funzt leider nicht?! grmpf;

"LOAD DATA LOCAL INFILE

'e:/programme/xampp/htdocs/plan/plan.txt' INTO TABLE plantabelle

(@dum,s2,@dum,s4,@dum,@dum,@dum,s8,@dum,@dum,@dum,@dum,@dum, @dum,@dum,@dum

,@dum,@dum,@dum,@dum) FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ;") or die

("Daten konnten nicht geschrieben werden!"

Re: LOAD DATA Problem

am 31.01.2006 17:59:28 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: LOAD DATA Problem

am 31.01.2006 18:45:34 von Christian Kirsch

D. Raecke wrote:
> ja danke
> habs gesehen.
>
> aber es funzt leider nicht?! grmpf;
>
> "LOAD DATA LOCAL INFILE
>
> 'e:/programme/xampp/htdocs/plan/plan.txt' INTO TABLE plantabelle
>
> (@dum,s2,@dum,s4,@dum,@dum,@dum,s8,@dum,@dum,@dum,@dum,@dum, @dum,@dum,@dum
>
> ,@dum,@dum,@dum,@dum) FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ;") or die
>
> ("Daten konnten nicht geschrieben werden!"

Ah, es funzt also nicht. Na, dann ist ja alles klar. Du musst es einfach
so umschreiben, dass es funzt.

Falls Du *hier* Hilfe bei Deinem Problem suchst, wäre eine brauchbare
Fehlerbeschreibung vielleicht sinnvoller als Geek-Späßken à la 'funzt
nicht'.

Wirf Dein Statement mysql (dem Kommandozeilenwerkzeug) vor und berichte,
was es Dir antwortet. Perl spricht nicht jeder und es ist hier OT (falls
das, was Du da hinterlassen hast, Perl sein soll).

Re: LOAD DATA Problem

am 31.01.2006 19:56:22 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: LOAD DATA Problem

am 31.01.2006 20:24:54 von dirk.raecke

ja gut.
es ist ja keiner verpflichtet zu antworten.

also:
wenn ich die tabelle ohne angabe von spalten einlese -> funktioniert es.
wenn ich sie einlesen will mit den dummy-variablen, dann funktioniert es eben nicht mehr.
und die von dir als irgendeine art pseudo perl angesehene syntax war einfach nur ein mysql query

nun gut, dann mach ichs halt über 2 tabellen.

gruß
dirk

Re: LOAD DATA Problem

am 01.02.2006 09:34:18 von Christian Kirsch

D. Raecke schrieb:
> ja gut.
> es ist ja keiner verpflichtet zu antworten.
>
> also:
> wenn ich die tabelle ohne angabe von spalten einlese -> funktioniert es.
> wenn ich sie einlesen will mit den dummy-variablen, dann funktioniert es eben nicht mehr.
> und die von dir als irgendeine art pseudo perl angesehene syntax war einfach nur ein mysql query
>
> nun gut, dann mach ichs halt über 2 tabellen.
>

Es wäre nett, wenn Du so zitieren könntest, dass andere verstehen, um
was es überhaupt geht. Der Kontext war der:

>> "LOAD DATA LOCAL INFILE
>> >
>> > 'e:/programme/xampp/htdocs/plan/plan.txt' INTO TABLE plantabelle
>> >
>> > (@dum,s2,@dum,s4,@dum,@dum,@dum,s8,@dum,@dum,@dum,@dum,@dum, @dum,@dum,@dum
>> >
>> > ,@dum,@dum,@dum,@dum) FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ;") or die
>> >
>> > ("Daten konnten nicht geschrieben werden!"
>
....
>
> Wirf Dein Statement mysql (dem Kommandozeilenwerkzeug) vor und berichte,
> was es Dir antwortet. Perl spricht nicht jeder und es ist hier OT (falls
> das, was Du da hinterlassen hast, Perl sein soll).
>

"or die ..." ist meines Wissens kein gültiges SQL. Daher meine
Vermutung, es handele sich um Teile eines Perl-Programms (allerdings
auch syntaktisch fehlerhafte) und meine Bitte, das Ganze mal auf der
Kommandozeile auszuprobieren und die Fehlermeldung oder überhaupt
*sinnvolle* Informationen zu posten. "Es funktioniert nicht" ist
*keine* sinnvolle Information - niemand außer Dir weiß, was das
bedeuten soll (Rechner steht in Flammen, mysql stürzt ab, es gibt eine
Fehlermeldung, in der Tabelle kommen keine Daten an, in der Tabelle
kommen die flaschen Daten an .... aus der Lameng *fünf*
Interpretationen von 'es funktioniert nicht').

*Du* hast eine Frage, *Du* willst eine Antwort. Wenn Du es den Leuten,
die Du um Hilfe bittest, unnötig schwer machst (und dazu gehört auch
dieses obstinate Kleinschreiben, was die Lesbarkeit verschlechtert),
dann ist das kontraproduktiv.

Re: LOAD DATA Problem

am 01.02.2006 09:35:25 von Kai Ruhnau

D. Raecke wrote:
> wenn ich die tabelle ohne angabe von spalten einlese -> funktioniert es.
> wenn ich sie einlesen will mit den dummy-variablen, dann funktioniert es eben nicht mehr.
> und die von dir als irgendeine art pseudo perl angesehene syntax war einfach nur ein mysql query

Es fehlt immernoch die Ausgabe von MySQL. Du hast besagtes Statement
(welches eigentlich? --> http://learn.to/quote ) doch in irgendeiner
Form ausgeführt und es ist irgendetwas passiert, dass dich zu der
Aussage "funktioniert nicht" führt. Wir helfen dir gerne, aber wir sehen
nicht, was du siehst.

> nun gut, dann mach ichs halt über 2 tabellen.

So schnell würde ich jetzt nicht aufgeben.

Grüße
Kai