IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Select into outfile et retour chariot


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 151
    Par défaut Select into outfile et retour chariot
    Bonjour,

    J'ai une requête comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT `a`, `b` FROM `c` INTO OUTFILE 'repertoireEtNomFichier.txt';
    Le résultat est de plusieurs enregistrement

    a b a b a b a b....

    et j'aurais voulu que dans le fichier.txt, après chaque enregistrement, il y est un saut de ligne pour un résultat du genre:

    a b
    a b
    a b
    ...


    Une idée de la solution ?

    Merci

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 : 16 818
    Billets dans le blog
    14
    Par défaut
    La doc MySQL dit ceci :
    SELECT ... INTO OUTFILE est le complément de LOAD DATA INFILE; La syntaxe pour la partie export_options de la requête se compose des mêmes clauses FIELDS et LINES que celles utilisées avec la commande LOAD DATA INFILE. See Section 13.1.5, « Syntaxe de LOAD DATA INFILE ».
    Dans le fichier résultant, seul les caractères suivants sont protégés par le caractère ESCAPED BY :

    • Le caractère ESCAPED BY
    • Les premier caractère de FIELDS TERMINATED BY
    • Les premier caractère de LINES TERMINATED BY
    • ASCII 0 est convertit en ESCAPED BY suivi de 0 (ASCII 48).


    Si le caractère FIELDS ESCAPED BY est vide, aucun caractère n'est protégé, et NULL vaut NULL, et non \N. Il est probable que ce ne soit pas une bonne idée de spécifier un caractère de protection vide, en particulier sir les valeurs de vos champs peuvent être n'importe quoi.
    La raison de ce qui précède est que vous devez impérativement protéger chaque caractère FIELDS TERMINATED BY, ESCAPED BY, ou LINES TERMINATED BY pour assurer une relecture fiable du fichier. Le caractère ASCII 0 est échappé pour assurer la lisibilité sur certains clients.
    Comme le fichier résultant ne se doit pas d'être syntaxiquement conforme à SQL, vous n'avez besoin d'échapper rien d'autre.
    Voila un exemple de relecture de fichier au format utilisé par plusieurs anciens programmes.
    SELECT a,b,a+b INTO OUTFILE '/tmp/result.text'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    FROM test_table;
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 151
    Par défaut
    Merci bien,

    La solution était de rajouter la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     LINES TERMINATED BY '\r\n';
    à la fin de la requête

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sauvegarde] SELECT * INTO OUTFILE ou bien Mysqldump ?
    Par mathieu dans le forum Administration
    Réponses: 17
    Dernier message: 25/04/2013, 16h58
  2. [MySQL] SELECT * INTO OUTFILE
    Par apidou dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 01/09/2008, 09h35
  3. [Requête] probléme de requête : SELECT * INTO OUTFILE
    Par adil_vpb dans le forum Requêtes
    Réponses: 3
    Dernier message: 31/05/2007, 11h04
  4. Erreur 1045 avec select into outfile
    Par mikaelm dans le forum Administration
    Réponses: 7
    Dernier message: 18/08/2005, 14h45
  5. syntaxe "SELECT * INTO OUTFILE....
    Par mick84m dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/04/2005, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo