MySQL 9.0 參考手冊  /  ...  /  MySQL 對標準 SQL 的擴展

1.7.1 MySQL 對標準 SQL 的擴展

MySQL 伺服器支援一些您不太可能在其他 SQL DBMS 中找到的擴展。請注意,如果您使用它們,您的程式碼很可能無法移植到其他 SQL 伺服器。在某些情況下,您可以編寫包含 MySQL 擴展的程式碼,但仍然可以透過使用以下形式的註解來移植

/*! MySQL-specific code */

在這種情況下,MySQL 伺服器會像解析和執行任何其他 SQL 陳述式一樣解析和執行註解中的程式碼,但其他 SQL 伺服器應該忽略這些擴展。例如,MySQL 伺服器會識別下列陳述式中的 STRAIGHT_JOIN 關鍵字,但其他伺服器則不會

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

如果在 ! 字元後新增版本號碼,則只有當 MySQL 版本大於或等於指定的版本號碼時,才會執行註解中的語法。只有 MySQL 5.1.10 或更高版本的伺服器才會執行下列註解中的 KEY_BLOCK_SIZE 子句

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

以下描述列出了 MySQL 擴展,並按類別組織。