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

MySQL Discussion :

Export texte avec SELECT INTO OUTFILE et valeurs nulles


Sujet :

MySQL

  1. #1
    Membre habitué
    Homme Profil pro
    consultant environnement et développement d'applications de base de données
    Inscrit en
    Janvier 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : consultant environnement et développement d'applications de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2006
    Messages : 336
    Points : 166
    Points
    166
    Par défaut Export texte avec SELECT INTO OUTFILE et valeurs nulles
    Bonjour

    Je mets en place un export de table vers un fichier texte pour le récupérer sous Access et j'ai un souci avec les valeurs nulles :
    Quand je fais (sous php)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="SELECT * INTO OUTFILE FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM maTable";
    J'obtiens un fichier qui ne me va pas trop mal du style :
    "rqtparcellecomplet";"Tracevigne";\N;1;"2014-06-25 18:42:23";"Guen";\N;"TV_structure";\N;\N
    "tabconnexion_structure";"systeme";\N;\N;"2014-12-15 17:49:18";\N;\N;"TV_structure";\N;\N
    Je supprime ensuite les \N (valeurs nulles) avant de faire mon import dans Access (par TransferText) mais je me demandais si je ne pouvais pas le faire directement dans mon export, obtenir cela (rien du tout pour les valeurs nulles) :

    "rqtparcellecomplet";"Tracevigne";;1;"2014-06-25 18:42:23";"Guen";;"TV_structure";;
    "tabconnexion_structure";"systeme";;;"2014-12-15 17:49:18";;;"TV_structure";;

    Avez-vous une idée svp ?

    Guen

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 031
    Points : 23 763
    Points
    23 763
    Par défaut
    Bonjour,

    Peut-être en essayant la solution décrite dans la documentation de MySQL 5.5 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
    FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    FROM test_table;
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre habitué
    Homme Profil pro
    consultant environnement et développement d'applications de base de données
    Inscrit en
    Janvier 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : consultant environnement et développement d'applications de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2006
    Messages : 336
    Points : 166
    Points
    166
    Par défaut
    Merci de ta réponse
    C'est ce que j'ai fait en fait (il manque juste le nom du fichier text dans mon exemple et j'ai mis un \ devant le " dans mon script php pour ne pas qu'il soit interprété comme une fin de chaîne en php. le reste sinon est identique il me semble...

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 031
    Points : 23 763
    Points
    23 763
    Par défaut
    Ooops, au temps pour moi...
    Il va donc sans doute falloir jouer avec la fonction IFNULL (ou la fonction COALESCE) pour remplacer les NULL par des chaînes vides...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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. Problème avec LOAD INTO FILE et valeur nulle
    Par Julioun dans le forum Requêtes
    Réponses: 0
    Dernier message: 23/01/2013, 18h08
  3. Select into Outfile avec outfile dépendant de la requete
    Par thierryK dans le forum Requêtes
    Réponses: 0
    Dernier message: 29/08/2011, 14h51
  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