MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

1.7.1 標準 SQL に対する MySQL 拡張機能

MySQL Server では、他の SQL DBMS で検出されない可能性のある拡張機能がサポートされています。 これらを使用する場合は、コードが他の SQL サーバーに移植できない可能性があることを警告してください。 場合によっては、MySQL 拡張機能を含むコードを記述しても、次の形式のコメントを使用することで移植することができます。

/*! MySQL-specific code */

この場合、MySQL Server は他の SQL ステートメントと同様にコメント内のコードを解析して実行しますが、他の SQL サーバーは拡張を無視する必要があります。 たとえば、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 拡張機能をカテゴリでまとめた一覧です。