Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
927 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Insérer le contenu d'un fichier TXT dans une table...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Insérer le contenu d'un fichier TXT dans une table...

n°1064273
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 14:26:52  profilanswer
 

Bonjour,
 
Ma table est la suivante : Animal...
 
Voici le dump de cette table :
 
CREATE TABLE `animal` (
  `animalID` int(5) NOT NULL default '0',
  `animalNom` varchar(25) NOT NULL default '',
  `animalType` varchar(15) NOT NULL default '',
  `animalDesc` varchar(255) default NULL,
  `animalPrix` decimal(9,2) default NULL,
  `animalImage` varchar(15) default NULL,
  PRIMARY KEY  (`animalID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
Voici le contenu de mon fichier ANIMAUX.TXT :
 
"Licorne";"cheval";"corne spiralée";"5000";"/images/licorne.jpg"
"Pégase";"cheval";"animal ailé";"8000";"/images/pegas.jpg"
"Lion";"chat";"grande taille";"2000";"/images/lion.jpg"
 
Voici la commande que je tape pour essayer d'insérer ce fichier TXT dans ma table :
 
LOAD DATA INFILE 'animaux.txt' INTO TABLE `animal`
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY ','
(`animalnom` , `animaltype` , `animaldesc` , `animalprix` , `animalimage`)
 
La réquête semble fonctionnée...
 
Et voici le résultat : commande = select * from animal
 
animalID / animalNom / animalType / animalDesc   / animalPrix / animalImage
0             /         Licorne /        cheval    / corne spiralée /   5000.00    / images/licorne
 
D'une part, il me manque les autres enregistrements...
D'autre part, le liens "/images/licorne.jpg" est tronqué a "licorne" sans l'extension...
Où peut se trouver mes erreurs ?
;)

mood
Publicité
Posté le 28-04-2005 à 14:26:52  profilanswer
 

n°1064280
Jotunheim
A.K.A. FenrirDarkWolf
Posté le 28-04-2005 à 14:30:59  profilanswer
 

sans doute que ton animalImage est un varchar de 15 et que /images/licorne.jpg ca fait + de 15 char...

n°1064297
FlorentG
Unité de Masse
Posté le 28-04-2005 à 14:39:43  profilanswer
 

Et le LINES TERMINATED BY ',' . Or, tes lignes ne sont pas terminée par ','
 
Bref, commence par relire ce que t'as fait ;)

n°1064322
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 14:51:52  profilanswer
 

Jotunheim a écrit :

sans doute que ton animalImage est un varchar de 15 et que /images/licorne.jpg ca fait + de 15 char...


OK j'ai changé le VARCHAR(15) par (25) c'est OK merci.

n°1064324
FlorentG
Unité de Masse
Posté le 28-04-2005 à 14:52:24  profilanswer
 

Ca fait pas beaucoup, seulement 25 pour un nom de fichier :/ on sait jamais :(

n°1064327
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 14:53:25  profilanswer
 

FlorentG a écrit :

Et le LINES TERMINATED BY ',' . Or, tes lignes ne sont pas terminée par ','
 
Bref, commence par relire ce que t'as fait ;)


 
Correction : mon fichier TXT comporte bien des "," en fin de lignes, exemple :
 
"Licorne";"cheval";"corne spiralée";"5000";"/images/licorne.jpg",
"Pégase";"cheval";"animal ailé";"8000";"/images/pegas.jpg",
"Lion";"chat";"grande taille";"2000";"/images/lion.jpg",
 
Après nouveau test, seule la 1ère ligne "Licorne"... est insérée, les autres non...
 
 :??:

n°1064331
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 14:55:06  profilanswer
 

FlorentG a écrit :

Ca fait pas beaucoup, seulement 25 pour un nom de fichier :/ on sait jamais :(


C'est juste un test PHP/MySQL, je débute et ce sont les exmples du bouquin...  :)

n°1064351
blastman
just me !
Posté le 28-04-2005 à 15:13:42  profilanswer
 

c'est quoi comme bouquin


---------------
http://www.blastmanu.info
n°1064355
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 15:16:00  profilanswer
 

PHP et MySQL pour les nuls.

n°1064416
Beegee
Posté le 28-04-2005 à 15:39:55  profilanswer
 

cto a écrit :

Correction : mon fichier TXT comporte bien des "," en fin de lignes, exemple :
 
"Licorne";"cheval";"corne spiralée";"5000";"/images/licorne.jpg",
"Pégase";"cheval";"animal ailé";"8000";"/images/pegas.jpg",
"Lion";"chat";"grande taille";"2000";"/images/lion.jpg",
 
Après nouveau test, seule la 1ère ligne "Licorne"... est insérée, les autres non...
 
 :??:


 
il faut que tes données soit à la queue leu leu, sans passage à la ligne, si tu utilises la virgule comme séparateur ... sinon ne mets pas de virgule et mets "LINES TERMINATED BY NEWLINE".

mood
Publicité
Posté le 28-04-2005 à 15:39:55  profilanswer
 

n°1064546
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 16:39:22  profilanswer
 

Beegee a écrit :

il faut que tes données soit à la queue leu leu, sans passage à la ligne, si tu utilises la virgule comme séparateur ... sinon ne mets pas de virgule et mets "LINES TERMINATED BY NEWLINE".


OK j'ai testé "tes données soit à la queue leu leu" donc comme ça :
 
"Licorne";"cheval";"corne spiralée";"5000";"/images/licorne.jpg","Pégase";"cheval";"animal ailé";"8000";"/images/pegas.jpg","Lion";"chat";"grande taille";"2000";"/images/lion.jpg",
 
J'exécute cette commande :
 
LOAD DATA LOCAL INFILE 'animaux.txt' INTO TABLE `animal`
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY ','
(`animalnom` , `animaltype` , `animaldesc` , `animalprix` , `animalimage`)
 
Aucun message d'erreur de requête = Cool !
 
Et voici le résultat : commande = select * from animal
 
animalID / animalNom / animalType / animalDesc   / animalPrix / animalImage
0             /         Licorne /        cheval    / corne spiralée /   5000.00    / images/licorne  
 
Seule la première ligne "Licorne..." est enregistrée...
 
Sinon en appliquant "LINES TERMINATED BY NEWLINE" à partir des commandes suivantes :
 
LOAD DATA LOCAL INFILE "animaux.txt" INTO TABLE Animal
FIELDS TERMINATED BY ';'
LINES TERMINATED BY NEWLINE
(animalnom,animaltype,animaldesc,animalprix,animalimage)
 
J'obtiens le message d'erreur suivant :
 
Erreur de syntaxe près de 'NEWLINE (animalnom,animaltype,animaldesc,animalprix,animalimage' à la ligne 3
 
???


Message édité par cto le 28-04-2005 à 16:46:57
n°1064553
Jotunheim
A.K.A. FenrirDarkWolf
Posté le 28-04-2005 à 16:45:02  profilanswer
 

jette ton bouquin... :D

n°1064629
cto
Un jour je suis, demain tu es
Posté le 28-04-2005 à 17:46:49  profilanswer
 

Jotunheim a écrit :

jette ton bouquin... :D


Ce n'est pas le bouquin qui est en cause c'est moi lol
Mais cette réponse ne m'aide pas...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Insérer le contenu d'un fichier TXT dans une table...

 

Sujets relatifs
Copier le contenu d'un fichier dans un bufferImportation fichier texte en excel avec plus de 256 colonnes
UPLOAD de fichier fonction ftpAfficher le contenu d'un tableau en plusieurs pages???
récupérer une chaines de caractère d'un fichier textepetit probleme d'ecriture dans un fichier
Comment zipper un fichier à partir de la fonction Shell[PERL] lire fichier en paragraphe
Erreur de lecture fichier SQL [résolu] 
Plus de sujets relatifs à : Insérer le contenu d'un fichier TXT dans une table...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR