Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 25/07/2011, 00h25   #1
Futur Membre du Club
 
Homme
Inscription : juillet 2008
Messages : 58
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 58
Points : 16
Points : 16
Par défaut Load Data infile

Bonjour,

J'ai un problème lors d'une insertion de données dans une table.

J'ai deux solutions, faire un fichier .SQL avec des insert into BDD
Celle-ci marche très bien mais avec 85000 lignes ça met 15min a être insérée sous Toad For MySQL

Code :
1
2
3
4
INSERT INTO idtv VALUES("TST0100002558","TST0000002558.mpg","L'Academie du foot 1/5");
INSERT INTO idtv VALUES("TST0100002559","TST0000002559.mpg","L'Academie du foot 2/5");
INSERT INTO idtv VALUES("TST0100002560","TST0000002560.mpg","L'Academie du foot 3/5");
INSERT INTO idtv VALUES("TST0100002561","TST0000002561.mpg","L' Academie du foot 4/5");
Sinon je peux le faire avec "load data infile" avec un fichier .csv, cela fonctionne et met seulement 3sec depuis Toad ou MySQL Server.

Code :
1
2
3
4
5
CONTENT_ID;FILENAME;TITLE
TST0100002558;TST0000002558.mpg;L'Academie du foot 1/5
TST0100002559;TST0000002559.mpg;L'Academie du foot 2/5
TST0100002560;TST0000002560.mpg;L'Academie du foot 3/5
TST0100002561;TST0000002561.mpg;L' Academie du foot 4/5
Voilà la requête:
Code :
LOAD DATA INFILE 'D:\CONTENT_ID.csv' REPLACE INTO TABLE idtv FIELDS terminated BY ';' LINES terminated BY '\n' (content_id,filename,title);
Le problème est qu'en passant par cette requête à la fin de mon champ titre j'ai un espèce de "carré blanc" qui apparaît, c'est très moche.

Le seul moyen que j'ai trouvé pour "retirer" ce carré blanc est d'ajouter une 4ème colonne dans ma table et ainsi c'est cette 4ème colonne qui récupère ce carré blanc.
ainsi je supprime la colonne de ma table.

Bref pour automatiser quelques choses je suis obligés de créer une colonne et puis d'ajouter un ";" dans mon fichier .csv, c'est du travail en plus...et même si je peux formater le fichier .csv via un script perl ou bash je veux m'éviter cette tâche, ce n'est pas le but.

Je fais donc appel à vous pour savoir s'il y a moyen de faire autrement ou bien de retirer ce foutu "carré blanc"

Merci pour vos lumières.
Sethenssen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 08h37   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 015
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 015
Points : 18 298
Points : 18 298
Envoyer un message via MSN à CinePhil
Tes lignes ne seraient-elles pas terminées par '\r\n' ?

Citation:
Envoyé par Doc MYSQL
Note : si vous avez généré le fichier sur Windows, vous devrez peut-être utiliser LINES TERMINATED BY '\r\n' pour lire le fichier correctement, car les programmes Windows utilisent généralement deux caractères comme fin de ligne. Certains programmes, comme WordPad, peuvent utiliser \r comme terminateur de ligne lors de l'écriture. Pour lire ces fichiers, utilisez LINES TERMINATED BY '\r.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 19h23   #3
Futur Membre du Club
 
Homme
Inscription : juillet 2008
Messages : 58
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 58
Points : 16
Points : 16
C'est exactement ça !

Merci t'es un dieu
Sethenssen 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 11h53.


 
 
 
 
Partenaires

Hébergement Web