Je sais, j'ai déjà vu un petit paquet de topics là dessus mais je n'ai pas trouvé de solutions...
Je remplis une base de données à l'aide de fichiers csv. Pour cela, j'écris des fichiers sql dans lesquels je crée des tables puis fait un LOAD DATA. Bref, peu d'importance...
Une seule colonne me pose problème. Il s'agit d'une colonne qui contient des chemins (ex: "\\Dossier1\Repertoire\doc.pdf").
Ces antislashs sont considérés comme des caractères d'échappement par MySQL transformant alors mon exemple en "\Dossier1epertoireoc.pdf".
J'ai trouvé des choses sur ESCAPE BY mais je n'ai aucune valeur de remplacement à y mettre. En effet, on trouve de tout dans ces chemins...
Mon souhait est simple. J'aimerai "désactiver" les échappements. Quelqu'un a une idée?
Merci d'avance !
- Edité par Malecto 24 septembre 2018 à 11:56:22
Un programme est un sort jeté sur un ordinateur, qui transforme tout texte saisi au clavier en message d’erreur.
J'ai trouvé la solution qui est finalement toute bête.
Pour "désactiver" les échappements, il suffit de rajouter un paramètre dans le LOAD DATA comme suit : ESCAPED BY ''
LOAD DATA LOCAL INFILE 'mon_fichier.csv'
INTO TABLE t_ma_table
FIELDS TERMINATED BY ';' ESCAPED BY ''
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
Je clôture le post.
Un programme est un sort jeté sur un ordinateur, qui transforme tout texte saisi au clavier en message d’erreur.
Un programme est un sort jeté sur un ordinateur, qui transforme tout texte saisi au clavier en message d’erreur.
Ignorer les échappements dans un DATA LOAD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.