Mailinglisten-Archive |
Hallo Liste, Vielen Dank für die vielen Schweistropfen welche Ihr vergossen habt an diesem Problem. > -----Ursprüngliche Nachricht----- > Von: henry bayer [mailto:henry_bayer at gmx.de] > Gesendet: Samstag, 9. Oktober 2004 05:15 > An: mysql-de at lists.4t2.com > Betreff: Re: formatierte Textdatei ohne Feldtrenner in mysql einlesen > > guten morgen uwe, > > >> da die längen in der source-file aber nicht mit den längen in der > >> tabelle übereinstimmen, gibt es datensalat. die längen müssen also > >> identisch sein. > > > Das mit den längen ist das kleinste Problem das ist schnell > angepasst. > > ha, vielleicht die lösung gefunden. prüfe doch nochmal, ob > das TABs oder ob das wirklich leerzeichen sind im > source-file. wenn da _keine_ tabs sind sondern die zeile im > Festzeilenformat vorliegen, hilft Sie liegen in einem festen Format vor kann man durchzählen. Was bleibt ist, es sind keine tabs zwischen den Feldern es sind definitiv leerzeichen. > > LOAD DATA LOCAL INFILE '/path/sourcefile' into table TBL > fields terminated by "" ENCLOSED BY "" ignore X lines > (source,destination, packets, bytes); Auch das habe ich probiert aber MySql 4.0.21-log und PHPMyAdmin 2.6.0-pl1 haben ein Problem damit, es kommt immer importierte Zeilen -1 und die Datenbank bleibt leer Auch direkt in MySql geht es nicht. Ich müßte während des Imports die komplette Zeile holen, in Segmente zerlegen, leerzeilen strippen, Felder zuweisen und dann erst den Datensatz zurückschreiben. Rein in MySQL könnte man auch probieren jede Zeile in ein einziges Feld und dann erst das ganze weiterverarbeiten in eine zweite Dakenbank/Tabelle korriegiert reinschieben. Das wäre allerdings dann kein Mengenorientiertes Arbeieten sondern Zeilenorientiert und das kostet dann richtig zeit. Wobei ich es noch nicht ausprobiert habe. Wenn ich Zeit habe mach ich es mal Erst den Import in ein Feld einer Tabelle und dann mit Insert into table set( ... Einfach in eine zweite Tabelle mal schauen wieviel zeit das ganze braucht bei 20000 Datensätzen. Also nochmals besten Dank, Nobert hat mir ein PHP geschickt was aus dem ganzen ein SQL macht. > > _dann_ könnte die zeilenlänge der felder in der mysql-tabelle > interessant sein, bei den tabs ist es nämlich egal. > > zum nachlesen > http://dev.mysql.com/doc/mysql/de/LOAD_DATA.html (suchphrase > 'Festzeilenformat'). > > wie ich mich richtig erinnerte, mochte ich diese format noch > nie, denn spätestens bei null-werten gibt es ein problem. > dann bleibt nur noch das script deiner wahl, um die > source-datei so zu manipulieren, dass die db das importieren kann. > > > mfg > > henry > > -- > GMX ProMail mit bestem Virenschutz http://www.gmx.net/de/go/mail > +++ Empfehlung der Redaktion +++ Internet Professionell 10/04 +++ > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > Gruß Uwe Es liegt was in der Luft www.feilbingert.net Uwe Drießen Software & Computer Lembergstraße 33 67824 Feilbingert Tel.: 06708 660045 Fax 06708 661397 www.edv-driessen.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive