重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

コメント構文

このドキュメントでは、TiDBでサポートされているコメント構文について説明します。

TiDBは、次の3つのコメントスタイルをサポートしています。

  • #を使用して、行にコメントを付けます。

    SELECT 1+1;     # comments
    
    +------+
    | 1+1  |
    +------+
    |    2 |
    +------+
    1 row in set (0.00 sec)
    
  • --を使用して、行にコメントを付けます。

    SELECT 1+1;     -- comments
    
    +------+
    | 1+1  |
    +------+
    |    2 |
    +------+
    1 row in set (0.00 sec)
    

    そして、このスタイルでは、1の後に少なくとも--つの空白が必要です。

    SELECT 1+1--1;
    
    +--------+
    | 1+1--1 |
    +--------+
    |      3 |
    +--------+
    1 row in set (0.01 sec)
    
  • /* */を使用して、ブロックまたは複数の行にコメントを付けます。

    SELECT 1 /* this is an in-line comment */ + 1;
    
    +--------+
    | 1  + 1 |
    +--------+
    |      2 |
    +--------+
    1 row in set (0.01 sec)
    
    SELECT 1+
    /*
    /*> this is a
    /*> multiple-line comment
    /*> */
        1;
    
    +-------------------+
    | 1+
            1 |
    +-------------------+
    |                 2 |
    +-------------------+
    1 row in set (0.001 sec)
    

MySQL互換のコメント構文

MySQLと同じように、TiDBはCコメントスタイルのバリアントをサポートします。

/*! Specific code */

また

/*!50110 Specific code */

このスタイルでは、TiDBはコメント内のステートメントを実行します。

例えば:

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

TiDBでは、別のバージョンを使用することもできます。

SELECT STRAIGHT_JOIN col1 FROM table1,table2 WHERE ...

コメントにサーバーのバージョン番号が指定されている場合(たとえば、MySQLでは/*!50110 KEY_BLOCK_SIZE=1024 */ )、このコメントの内容は、MySQLのバージョンが5.1.10以上の場合にのみ処理されることを意味します。ただし、TiDBでは、MySQLのバージョン番号が機能せず、コメントのすべてのコンテンツが処理されます。

TiDB固有のコメント構文

TiDBには独自のコメント構文(つまり、TiDB固有のコメント構文)があり、次の2つのタイプに分けることができます。

  • /*T! Specific code */ :この構文は、TiDBによってのみ解析および実行でき、他のデータベースでは無視されます。
  • /*T![feature_id] Specific code */ :この構文は、異なるバージョンのTiDB間の互換性を確保するために使用されます。 TiDBは、現在のバージョンでfeature_idの対応する機能を実装している場合にのみ、このコメントのSQLフラグメントを解析できます。たとえば、v3.1.1でAUTO_RANDOM機能が導入されたため、このバージョンのTiDBは/*T![auto_rand] auto_random */auto_randomに解析できます。 AUTO_RANDOM機能はv3.0.0に実装されていないため、上記のSQLステートメントフラグメントは無視されます。 /*T![文字の中にスペースを残さないでください

オプティマイザコメント構文

別のタイプのコメントは、オプティマイザーのヒントとして特別に扱われます。

SELECT /*+ hint */ FROM ...;

TiDBがサポートするオプティマイザヒントの詳細については、 オプティマイザーのヒントを参照してください。

ノート

MySQLクライアントでは、TiDB固有のコメント構文はコメントとして扱われ、デフォルトでクリアされます。 5.7.7より前のMySQLクライアントでは、ヒントもコメントとして表示され、デフォルトでクリアされます。クライアントを起動するときは、 --commentsオプションを使用することをお勧めします。たとえば、 mysql -h 127.0.0.1 -P 4000 -uroot --comments

詳細については、 コメント構文を参照してください。