mysqldump生成的/ *!xxxxxx语句* /是什么意思?

时间:2010-06-01 11:05:25

标签: mysql mysqldump

我一直很好奇这些评论附带了mysqldump为我生成的类似预处理器的语句。这是一个例子:

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

一般模式似乎是

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

如果存在,请指出正确的文件。否则解释。 :)

1 个答案:

答案 0 :(得分:31)

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

表单/*! stuff */的注释被其他RDBMS视为注释,但MySQL将读取注释中的内容并将其作为SQL执行。即使使用可能针对其他RDBMS运行的代码,您也可以使用它来利用特定于MySQL的功能。例如,您可以在/*! ENGINE=INNODB */查询中使用CREATE TABLE

这些数字是可选的,如果您使用它们,那么如果版本号小于数字,则MySQL将忽略它们(在适当的位置插入点)。