[mysql] load data infile

Pagina: 1
Acties:

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 17-06 14:59

klokop

swiekie swoeng

Topicstarter
Ik probeer een tekst bestandje in te lezen in een mysql tabel, maar er gaat iets mis, en ik kan er maar iet achter komen wat.

De tabel waar de date in komt te staan:
code:
1
2
3
4
5
6
7
create table top40 (
id      smallint primary key auto_increment,
weken   int(2) not null,
nummer  int(2) not null,
titel   varchar(100) not null,
artiest varchar(100) not null
);


Zo ziet het tekst bestand er uit:
code:
1
2
3
4
5
;19;1;dromen zijn bedrog;marco borsato
;20;1;what\'s up;4 non blondes
;12;1;i\'d do anything for love (but i won\'t do that);meat loaf
;15;1;dreams;2 brothers on the 4th floor
;7;9;clubhoppin';rob 'n raz


Als ik die data vervolgens (CLI) invoer in de tabel, en daarna rijen selecteer:
code:
1
2
load data infile '/www/top40.sql' into table top40 FIELDS TERMINATED BY ';';
select * from top40;

...ziet dat er zo uit, en dat klopt natuulijk niet.
code:
1
2
3
4
5
6
7
8
9
+----+-------+--------+------------------------------------------------+------------------------------+
| id | weken | nummer | titel                                          | artiest                      |
+----+-------+--------+------------------------------------------------+------------------------------+
               |    1 | dromen zijn bedrog                             | marco borsato
               |    1 | what's up                                      | 4 non blondes
                   |1 | i'd do anything for love (but i won't do that) | meat loaf
 | 4 |    15 |      1 | dreams                                         | 2 brothers on the 4th floor
                  | 9 | clubhoppin'                                    | rob 'n raz
+----+-------+--------+------------------------------------------------+------------------------------+


Al geprobeerd:
- ' om de tekst gezet
- escaped by '\\' lines TERMINATED BY '\n';

edit: ik zie nu dat er bij het invoeren van de data 'warnings: 5' staat. Hoe kom ik te weten wat die warnings zijn?

[ Voor 7% gewijzigd door klokop op 18-09-2003 12:21 ]

"Passing silhouettes of strange illuminated mannequins"


  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 21-08 06:33

Tux

doe eens:

echo mysql_error ();

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


  • klokop
  • Registratie: Juli 2001
  • Laatst online: 17-06 14:59

klokop

swiekie swoeng

Topicstarter
Tux schreef op 18 September 2003 @ 12:27:
doe eens:
echo mysql_error ();
En hoe doe ik dat in een command line interface??

"Passing silhouettes of strange illuminated mannequins"


  • klokop
  • Registratie: Juli 2001
  • Laatst online: 17-06 14:59

klokop

swiekie swoeng

Topicstarter
Ik heb de oplossing al gevonden:
ik moest de velden opgeven die in de tabel staan, en de eerste ';' in het te loaden bestand verwijderen.
Dus:
code:
1
2
;19;1;dromen zijn bedrog;marco borsato
;20;1;what\'s up;4 non blondes

en:
code:
1
load data infile '/www/top40.sql' into table top40 FIELDS TERMINATED BY ';'; (weken,nummer, titel, artiest)


Tadaaaa

"Passing silhouettes of strange illuminated mannequins"