Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  MySQL Extensions to Standard SQL

1.6.1 MySQL 对标准 SQL 的扩展

MySQL 服务器支持一些其他 SQL DBMS 不具备的扩展。请注意,如果您使用它们,您的代码可能无法在其他 SQL 服务器上移植。在某些情况下,您可以编写包含 MySQL 扩展的代码,但仍然是可移植的,方法是使用以下形式的注释:

/*! MySQL-specific code */

在这种情况下,MySQL 服务器将解析和执行注释中的代码,就像任何其他 SQL 语句一样,但其他服务器应该忽略这些扩展。例如,MySQL 服务器在以下语句中识别 STRAIGHT_JOIN 关键字,但其他服务器不应该:

SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...

如果您在 ! 字符后添加版本号,那么只有在 MySQL 版本大于或等于指定版本号时,注释中的语法才会被执行。例如,以下注释中的 KEY_BLOCK_SIZE 子句只有在 MySQL 5.1.10 或更高版本的服务器上才会被执行:

CREATE TABLE t1(a INT, KEY (a)) /*!50110 KEY_BLOCK_SIZE=1024 */;

以下描述列出了 MySQL 扩展,按类别组织。