2010-06-01 9 views
16

J'ai toujours été curieux de savoir ce que ces commentaires encadraient les instructions de type préprocesseur que mysqldump génère pour moi. Voici un exemple:Que signifie/*! Xxxxxx statement */généré par mysqldump?

/*!40000 ALTER TABLE abc DISABLE KEYS */; 

Le schéma général semble être

/*![some numeric code] [some statement] */; 

S'il vous plaît à la documentation appropriée pointer si elle existe. Sinon, expliquez. :)

+2

http://kedar.nitty-witty.com/blog/sql-syntax-avec-c-style-comments-in-mysqldump/ – nuqqsa

Répondre

23

http://dev.mysql.com/doc/refman/5.1/en/comments.html

Commentaires du formulaire /*! stuff */ sont traités comme des commentaires d'autres SGBDR, mais MySQL va lire ce qui est dans le commentaire et l'exécuter comme SQL. Vous pouvez l'utiliser pour tirer parti des fonctionnalités spécifiques à MySQL, même en utilisant du code pouvant être exécuté sur d'autres SGBDR. Par exemple, vous pouvez utiliser /*! ENGINE=INNODB */ dans une requête CREATE TABLE.

Les nombres sont facultatifs et si vous les utilisez, MySQL les ignorera si son numéro de version est inférieur au nombre (avec des points insérés aux endroits appropriés).