octobre
2006
Une limitation de MySQL dommageable : la requête LOAD DATA INFILE
ne fonctionne qu’avec les fichiers sources copiés dans le dossier de ressources de MySQL (typiquement /usr/local/mysql/var/
).
Une tentative avec un fichier localisé ailleurs donnera cette erreur :
ERROR 13 (HY000): Can't get stat of '/usr/local/mysql/var/monFichier.csv' (Errcode : 2)
même si les droits en lecture sont positionnés correctement.
Il existe deux moyens de résoudre cette erreur :
Rappel de la syntaxe générale :
LOAD DATA INFILE 'monFichier.csv' REPLACE INTO TABLE `maBase`.`maTable` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES STARTING BY '' TERMINATED BY '\n' IGNORE 1 LINES (champ1, champ4, champ5)
Ceci permet de charger le fichier monFichier.csv dans la table maTable de la base maBase. Les lignes déjà présente seront remplacées (option REPLACE
) ou peuvent être ignorées (option IGNORE
).
On peut préciser les caractères délimitant les colonnes (FIELDS
) et les lignes (LINES
) du fichier source. Dans notre cas, les colonnes sont séparées par des tabulations (\t) et éventuellement encadrées de doubles quotes (« ) si elles devaient contenir des tabulations comme données. Le caractère d’échappement des caractères spéciaux poivant être employé est l’antislash (\). Les lignes commencent directement par des données (aucun caractère spécifique n’est spécifié) et terminent par un saut de ligne (\n). La ligne n°1 d’entête sera ignorée.
Les champs de la table à remplir avec les données du fichier sont les colonnes champ1, champ4 et champ5.
Et voila, MySQL devrait vous retourner un message du type :
Query OK, 309 rows affected (0,01 sec) Records: 309 Deleted: 0 Skipped: 0 Warnings: 0
On peut aussi utiliser l’option LOCAL
de LOAD DATA INFILE
si on a les droits FILE
.
Articles récents
- Baisse de prix drastique de la caméra LDLC Touch C1 mais chers accessoires
- Test vidéo de la caméra LDLC Touch C1 et son caisson étanche en plongée : ATTENTION A LA CASSE !
- Test du port HDMI de la caméra LDLC Touch C1
- Test de l’application LDLC Touch pour la caméra sportive LDLC Touch C1
- Mise à jour du firmware de la caméra LDLC Touch C1
Commentaires récents
Archives
- juillet 2014
- juin 2014
- janvier 2014
- décembre 2013
- novembre 2013
- octobre 2013
- février 2008
- janvier 2008
- août 2007
- avril 2007
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- avril 2006
- mars 2006
- février 2006
- janvier 2006
- décembre 2005
- octobre 2005
- septembre 2005
- juin 2005
- avril 2005
- février 2005