2010-07-15 18 views
20

j'ai ces lignes en haut du dossier d'un MySQL (avec phpMyAdmin sous-évaluées):fichier de vidage de MySQL et lignes commentées

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 

Mais ils semblent tous être commenté. MySQL les ignorera-t-il lorsque le fichier sera rechargé dans une base de données? Si oui, pourquoi générer ces lignes?

Répondre

29

Il s'agit de commentaires conditionnels visant certaines versions de mySQL.

De here et here:

  • MySQL version commentaires spécifiques Commençons par /*!
  • et se terminent par */
  • Les numéros de version sont toujours 5 chiffres
  • Les numéros de version sont dans le format grand numéro de version , numéro de version mineure, numéro de révision avec le majeur étant 1 chiffre et le mineur et la révision étant 2 chiffres à gauche rembourré avec
  • Version commentaires spécifiques 0 ciblera une version égale ou supérieure à le numéro de version indiqué
+0

ok alors, merci! – Spoonface

+0

@Unicron Ce n'est peut-être pas toujours pour une version spécifique, parce que j'ai essayé de jeter un fichier avec mysql view, cette vue est définie commentée, elle n'a rien à voir avec la version mysql. – pahnin

6

MySQL va analyser et exécuter ces lignes de code, je crois pour la localisation et caractères de codage de caractères, car les commentaires commencent par /*! (avec le point d'exclamation) au lieu de simplement le style C /*. Pensez-y de la même façon que vous faites des commentaires conditionnels et Internet Explorer. <!--[if IE]><![endif]--> ressemble à n'importe quel ancien commentaire HTML aux autres navigateurs, mais IE reconnaît ce commentaire spécial et l'analyse au besoin. De même, /*! */ ressemble à n'importe quel autre commentaire à d'autres DBMS SQL mais est spécial à MySQL.

+0

ok alors, merci! – Spoonface