1.7.1 MySQL对标准SQL的扩展

 

MySQL Server支持某些您可能在其他SQL DBMS中找不到的扩展。请注意,如果使用它们,您的代码将无法移植到其他SQL Server。在某些情况下,可以使用以下形式的注释编写包含MySQL扩展但仍可移植的代码:

/*! MySQL-specific code */

在这种情况下,MySQL服务器将像其他任何SQL语句一样解析并执行注释中的代码,但是其他SQL Server将忽略这些扩展。例如,MySQL Server可以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扩展。

posted @ 2020-09-25 11:41  owling  阅读(285)  评论(0编辑  收藏  举报