MySQL 区切り文字は、パイプ区切り文字 (|) とセミコロン (;) を使用し、8.0.12 より前の MySQL バージョンを使用している場合に発生します。
MySQL はパイプ (|) を 1 つの区切り文字として扱い、セミコロン (;) を別の区切り文字として扱います。したがって、MySQL の区切り文字をパイプやセミコロンと混同しないでください。
注: ここでは、MySQL バージョン 8.0.12 を使用します。パイプ区切り文字はセミコロンとうまく連携します。 8.0.12 より前のバージョンを使用している場合、区切り文字エラーが発生します。
MySQL 区切り文字の仕組みは次のとおりです:
mysql> delimiter |; mysql> create procedure getSumOfTwoNumbers() -> begin -> select 2+3 as TotalValue; -> end ; -> |; Query OK, 0 rows affected (0.17 sec) mysql> delimiter ;
次に、call コマンドを使用してストアド プロシージャを呼び出します。クエリは次のとおりです:
mysql> call getSumOfTwoNumbers();
出力は次のとおりです:
+------------+ | TotalValue | +------------+ | 5 | +------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
MySQL ではセミコロンがデフォルトの区切り文字であり、セミコロンは、 MySQL のステートメントの終わり。したがって、複数のステートメントを記述する場合、セミコロンを使用して MySQL ストアド プロシージャから返すことができます。
これは区切り文字の変更の例です。
まず、パイプ区切り文字 (|) を使用します。セパレータをパイプに設定する場合は、次のクエリを使用します。
mysql> DELIMITER |
ストアド プロシージャを作成するクエリは次のとおりです。
mysql> DELIMITER | mysql> create procedure Demo() -> begin -> select 2*3 as TotalMultiplication; -> end ; -> | Query OK, 0 rows affected (0.12 sec)
次に、区切り文字をセミコロンに変更します。区切り文字をセミコロンに設定する場合は、次のクエリを使用します。
クエリは次のとおりです:
mysql> delimiter ;
以上がMySQL 区切り文字エラーはいつ発生しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。