Pourquoi des /* et */ dans les entêtes de dumps MySQL ?

WRInaute passionné
Bonsoir (oui, à 6h du mat’ :mrgreen: )

Tout est dans le titre les amigos : pourquoi ces “ /* ” et “ */ ” dans les entêtes de dump de base de données MySQL ? Pourquoi l’instruction “ SET NAMES ” n’est-elle pas écrite telle-quelle mais toujours entre ces commentaires à la C ?
 
WRInaute passionné
Les commentaires servent d'entête du fichier.
Pour le SET NAME, je pense que cela vient que chaque table peut avoir son charset au moment de sa création, donc le donner dès le départ pourrait créer plus de problèmes. C'est juste une indication.
Bon, là j'y vais à taton, je ne me suis jamais posé la question.
 
WRInaute passionné
Julia41 a dit:
Les commentaires servent d'entête du fichier.
Pour le SET NAME, je pense que cela vient que chaque table peut avoir son charset au moment de sa création, donc le donner dès le départ pourrait créer plus de problèmes. C'est juste une indication.
Bon, là j'y vais à taton, je ne me suis jamais posé la question.
J'y vais tout autant à taton que toi, alors je ne pourrai rien affirmer à propos de ton hypothèse, mais j'ai l'impression que ce ne sont pas vraiment des commentaires, en tous les cas pas comme ceux commençant par “--” et qui sont toujours ignorés. Ceux entre “/*” et “*/” ne sont pas ignorés, puisque que si je les supprime, j’ai des problèmes d’importation à chaque fois. Le commentaire qui contient ce SET NAMES semble important et être interprété.

Ou alors peut-être n’est-ce un commentaire que pour certaines bases de données ? Un hack pour passer des instructions à certaines bases mais pas à d’autres ?
 
WRInaute passionné
hibou57 a dit:
Ou alors peut-être n’est-ce un commentaire que pour certaines bases de données ? Un hack pour passer des instructions à certaines bases mais pas à d’autres ?
Moi je vois ça plus "si c'est du MySQL": MySQL a (pour l'import plus tard) le numéro de la version (en fonction des versions tu as des trucs spéciaux), le charset, et donc peut faire un import plus "propre".
Par contre pour d'autres softs (par exemple si tu fais un import vers du postgreSQL) ce sont bien des commentaires.

Bref, il les faut quand même, moi je m'en sers principalement avec la fonction "head" (en bash) pour savoir quand et avec quoi ça a été fait.
Exemple d'un client qui m'a donné récemment 50 dumps SQL car il ne savait pas lequel était le plus récent (bon, j'ai testé le plus "gros" c'était bien lui) avec ces "headers" on peut savoir.
 
WRInaute passionné
Oki, donc si je te comprends bien, on voit la chose de la même manière : une sorte de commentaire conditionnel.

Toi qui as l’air de connaître, sais-tu si c’est formellement spécifié quelque part ? (parce que là, on joue aux devinettes)
 
WRInaute passionné
Dans le help de mysqldump:
Code:
  -i, --comments      Write additional information.

  --compact           Give less verbose output (useful for debugging). Disables
                      structure comments and header/footer constructs.  Enables
                      options --skip-add-drop-table --skip-add-locks
Donne une petite idée.
 
Discussions similaires
Haut