Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/11/2007, 12h44   #1
Membre actif
 
Avatar de bigsister
 
Homme OLE MAIN()
Développeur Web
Inscription : octobre 2002
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme OLE MAIN()
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2002
Messages : 296
Points : 191
Points : 191
Par défaut LOAD DATA INFILE et Mysql 5

voilà j'ai une table dans laquelle je souhaiterai intégrer des données :
Code :
1
2
3
4
5
6
CREATE TABLE `matable` (
  `champa` int(10) UNSIGNED NOT NULL DEFAULT '0',
  `champb` int(10) UNSIGNED NOT NULL DEFAULT '0',
  `champc` char(2) NOT NULL DEFAULT '',
  PRIMARY KEY  (`champa`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Pour cela j'utilise :
Code :
1
2
3
4
LOAD DATA INFILE '/home/temp/mesdonnees.txt'
INTO TABLE matable
FIELDS TERMINATED BY ','
LINES TERMINATED BY ';'
Ca marchait très bien sous mysql 4 et maintenant avec mysql 5 il m'enregistre bien la première donnée dans la base, puis la deuxième il met une valeur pour champb égale à zéro, pour terminer enfin sur un message d'erreur...
Code :
1
2
MySQL a répondu:Documentation
#1062 - Duplicate entry '0' for key 1
Dans ma base j'ai donc :
Code :
1
2
3
champa champb champc
33996344  33996351   AA
0  68257567  BB
Z'auriez pas une idée ? Est ce que LOAD DATA INFILE est différent de mysql 4 à mysql 5 ?
bigsister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2007, 23h31   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Qu'as-tu dans ton fichier ?
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 10h00   #3
Membre actif
 
Avatar de bigsister
 
Homme OLE MAIN()
Développeur Web
Inscription : octobre 2002
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme OLE MAIN()
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2002
Messages : 296
Points : 191
Points : 191
, voilà ce que j'ai dans mon fichier (geoip):
Code :
1
2
3
4
5
6
7
8
9
10
33996344,33996351,GB;\r\n
50331648,68257567,US;\r\n
68257568,68257599,CA;\r\n
68257600,68259583,US;\r\n
68259584,68259599,CA;\r\n
68259600,68296775,US;\r\n
68296776,68296783,MX;\r\n
68296784,68298887,US;\r\n
68298888,68298895,CA;\r\n
68298896,68305407,US;\r\n
Après réfléxion (si si ) j'ai trouvé d'où ça venait : Mon fichier comportait des sauts de lignes \r\n en fin de ligne qui étaient tolérées (obligatoires peut-être d'ailleur ?) avant. Mais maintenant il faut que j'utilise un fichier comme ceci :
Code :
33996344,33996351,GB;50331648,68257567,US;68257568,68257599,CA;68257600,68259583,US;68259584,68259599,CA;68259600,68296775,US;68296776,68296783,MX;68296784,68298887,US;68298888,68298895,CA;68298896,68305407,US;
bigsister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2007, 20h36   #4
Membre habitué
 
Avatar de nico le terrible
 
Inscription : novembre 2004
Messages : 163
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 163
Points : 107
Points : 107
Citation:
Envoyé par bigsister Voir le message
Code :
1
2
3
4
LOAD DATA INFILE '/home/temp/mesdonnees.txt'
INTO TABLE matable
FIELDS TERMINATED BY ','
LINES TERMINATED BY ';'
Peut être qu'en mettant
Code :
LINES TERMINATED BY ";\r\n"
ça marcherai...
nico le terrible est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2007, 12h55   #5
Membre actif
 
Avatar de bigsister
 
Homme OLE MAIN()
Développeur Web
Inscription : octobre 2002
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme OLE MAIN()
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2002
Messages : 296
Points : 191
Points : 191
oui effectivement j'aurai pu essayer comme ça mais comme ma première solution fonctionnait et que je ne suis pas sûr de la bonne interprétation de ces caractères spéciaux selon les plateformes etc... je ne l'ai pas tenté.
bigsister est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h09.


 
 
 
 
Partenaires

Hébergement Web