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

Administration MySQL Discussion :

Export, puis import dans le même SQL : problème d'apostrophe [MySQL-5.1]


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Export, puis import dans le même SQL : problème d'apostrophe
    Bonjour à tous,

    Je me heurte à un problème qui me parait un peu grossier .. Malgré l'expérience, là ça me pose problème.

    Voilà, j'ai, avant de faire une MAJ un peu risquée, exporté une BDD de bonne taille (60mo), avec Phpmyadmin. Pas de souci.

    La MAJ étant ratée, j'ai besoin de revenir en arrière. Pas de souci, j'upload mon backup.sql sur le serveur (trop gros pour passer par phpmyadmin), et je réimporte comme d'habitude avec une ligne de commande: mysql -u [user] -p bdd.sql < backup.sql

    Cela fonctionne, sauf que j'obtiens une erreur lorsqu'il tombe sur une chaine de caractères qui contient une apostrophe, ce qui est "normal" car il l'interprète comme un marqueur de début ou fin de champ !
    Là ou je suis très étonné, c'est qu'à l'export de phpmyadmin (3.3.7deb7), apparemment rien n'a été fait (pas d'ajout de slash rien) pour "neutraliser" ces apostrophes. Au final je suis incapable de réimporter simplement un fichier exporté par le même système, ça me parait douteux.

    Donc à part aller modifier moi-même à la main toutes les apostrophes indésirables dans ce fichier de 400.000 lignes, ce qui me parait limite impossible, comment pourrais-je réussir mon import ?

    Est-ce que j'ai loupé une option à l'export pour neutraliser les apostrophes ? N'ayant pas gardé la base d'origine sur le serveur sql, j'espère que je n'ai pas exporté une base inutilisable ....

    Merci beaucoup à ceux qui peuvent m'aider.

  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 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

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

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

    Normalement, la sauvegarde d'une base se fait plutôt avec l'outil mysqldump. Pas avec PhpMyAdmin...
    Et là, vous avez certainement oublié l'option FIELDS ESCAPED BY dans le SELECT.
    Avez-vous modifié le paramètre LINES TERMINATED BY '\r\n' ?
    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 à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Effectivement, je comprends que je m'y suis mal pris .. On paye pour apprendre

    Et bien j'ai utilisé les options par défaut dans phpmyadmin, n'ai rien vu de tel avec FIELD ESCAPED BY ou LINES TERMINATED BY. (Phpmyadmin avait toujours exporté / importé correctement pour moi jusqu'ici, mais je manipulais des bases plus petites)

    Enfin pour reexporter pour moi maintenant c'est râpé, je n'ai d'autre choix que d'importer cet export ... Si j'ai bien compris je suis bon pour la retouche à la main (et la plus grosse galère de ma vie de developpeur ) Je ferais bien gaffe la prochaine fois et vais regarder mysqldump.

    Merci pour votre aide.

  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 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    60 Mo, c'est une petite base... mais pas pour un éditeur de texte
    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

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Bon je viens faire la lumière sur cette affaire mystérieuse .... J'ai à tort et à travers accusé l'exportateur de phpmyadmin ... Mais ce n'était pas sa faute !

    Le coupable était .... notepad++ !!

    En effet, par négligence, j'avais exporté toute les bases localhost. Donc pour récupérer la base qui m'intéressait, j'ai ouvert et copié/collé le contenu concerné. Sauf qu'il m'a tout passé subtilement en ISO8859 sans rien dire. Et ça a foutu silencieusement le boxon dans les apostrophes, les accents causaient des break à l'import etc..

    Ceci compris, on a tronqué le fichier "propremenet" (mon ami ingénieur l'a fait avec son éditeur unix) ça marche très bien. Donc méa culpa ! L'export de phpmyadmin marche bien. (même si c'est pas forcémment la méthode recommandée, je me demandais PAR QUEL PRODIGE un export phpmyadmin pouvait échouer en import' la seconde d'après !! Aucune absurdité : juste de la bêtise de ma part)

    Désolé d'avoir pris votre temps, je venais quand même répondre, des fois qu'un jour, l'histoire de ma bêtise puisse en prévenir une autre.

    Bonne fin de journée ^^

    NB : j'accuse notepad++ mais la faute était bien la mienne car j'ai fait nouveau fichier > coller > sauver , donc le nouveau fichier était probablement dans le mauvais encodage.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/07/2009, 14h57
  2. Réponses: 3
    Dernier message: 24/08/2008, 12h30
  3. exporter plusieurs feuilles dans un même fichier texte
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/04/2008, 09h21
  4. Réponses: 3
    Dernier message: 13/06/2007, 11h22

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