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

zed*_*doo 28 mysql mysqldump

我一直很好奇这些注释包含了mysqldump为我生成的类似预处理器的语句.这是一个例子:

/*!40000 ALTER TABLE abc DISABLE KEYS */;
Run Code Online (Sandbox Code Playgroud)

一般模式似乎是

/*![some numeric code] [some statement] */;
Run Code Online (Sandbox Code Playgroud)

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

Ham*_*ite 35

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

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

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