Ik wil heel graag een door Excel gegenereerde comma seperated file in een tabel in mijn MySQL-database importeren. Dit lukt helaas slechts deels.
In eerste instantie ben ik aan de gang geweest via de MySQL-prompt door middel van een SSH-shell op de server. Hiervoor gebruikte ik de volgende syntax:
MySQL gaat opzoek naar het bestand hc.csv en vindt 'm, omdat ik 'm naar de juiste directory heb geüpload. Vervolgens gaat-ie bezig met importeren, met als uiteindelijk resultaat dat hij lang niet alles importeert. Het csv-bestand bestaat uit ruim 3400 regels, en er ontstaan bijna net zoveel warnings
Uiteindelijk probeerde ik de PHPMySQLAdmin. Door middel van "Invoegen tekstbestanden in tabel" (sorry, heb hier alleen de NL-versie
), probeer ik dan hc.csv vanaf mijn PC te uploaden. In principe gebruik ik dezelfde regels als hierboven (gescheiden door ';', afbreken met '\r\n', en kolomnamen 'artiest,titel'. De syntax die PHPMySQLAdmin hiermee genereert:
Dit zorgt ervoor dat er maar 127 rijen worden ingevoerd.
Ik krijg een beetje het idee dat je met LOAD DATA niet meer dan 127 rijen kunt invoegen. Is dat zo? Hoe zorg ik ervoor dat die andere 3000+ rijen uit dat bestand ook worden ingelezen? Zou me een hoop tijd schelen.
Ben benieuwd!
In eerste instantie ben ik aan de gang geweest via de MySQL-prompt door middel van een SSH-shell op de server. Hiervoor gebruikte ik de volgende syntax:
code:
1
2
3
4
5
| LOAD DATA LOCAL INFILE 'hc.csv' INTO TABLE hcdata FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' (artiest,titel); |
MySQL gaat opzoek naar het bestand hc.csv en vindt 'm, omdat ik 'm naar de juiste directory heb geüpload. Vervolgens gaat-ie bezig met importeren, met als uiteindelijk resultaat dat hij lang niet alles importeert. Het csv-bestand bestaat uit ruim 3400 regels, en er ontstaan bijna net zoveel warnings
Uiteindelijk probeerde ik de PHPMySQLAdmin. Door middel van "Invoegen tekstbestanden in tabel" (sorry, heb hier alleen de NL-versie
code:
1
2
3
4
5
6
7
| LOAD DATA LOCAL INFILE '/tmp/phpuaoWKe' INTO TABLE `hcdata` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' (`artiest`, `titel`) |
Dit zorgt ervoor dat er maar 127 rijen worden ingevoerd.
Ik krijg een beetje het idee dat je met LOAD DATA niet meer dan 127 rijen kunt invoegen. Is dat zo? Hoe zorg ik ervoor dat die andere 3000+ rijen uit dat bestand ook worden ingelezen? Zou me een hoop tijd schelen.
Ben benieuwd!
[ Voor 7% gewijzigd door Verwijderd op 16-03-2004 10:43 ]