sql >> データベース >  >> RDS >> Mysql

mysqlコマンドDELIMITERの実行方法

    あなたはおそらくしない 区切り文字を変更する必要があります。

    区切り文字は、SQLステートメントがどこで終了するかを示すためにCLIで必要です。これは、CLIが停止するように指示するまで(たとえば、exitを使用して)、さらに多くのステートメントを読み取り、実行し続けるためです。 またはControl-D)。しかし、実際に読み取るのは文字の流れにすぎません。どういうわけか、あるステートメントがどこで終わり、次のステートメントがどこで始まるかを理解する必要があります。それが区切り文字の機能です。

    PHPでは、各関数呼び出しは1つのステートメントを実行します。 1つの関数呼び出しに複数のステートメントを含めることはできないため、それらを区切る方法は必要ありません。ステートメントは文字列全体です。これは、古いmysql_queryにも当てはまります。 また、新しいmysqli_query およびPDO。もちろん、mysqli_multi_queryもあります 本当に複数のクエリを1つの関数に渡したい場合。

    ストアドプロシージャ/トリガー/関数などの場合、複数のステートメントが存在する可能性がありますが、それはMySQL自体によって処理されます(常に; 、 私の知る限り)。 PHPに関する限り、それはまだ1つのステートメントです。

    phpMyAdminに表示されている区切り文字の設定は、ステートメントを分割するために使用されている可能性があり、PHPコードで実行されている可能性があります。複数のステートメントで構成されるユーザー入力を受け入れるため、これを行う必要がありますが、関数呼び出しごとに1つのステートメントのみを渡す必要があります。 (これを完全に確認するためにphpMyAdminコードをチェックしていません。)



    1. インメモリOLTPのDMLステートメントのテスト

    2. (英語)Oracle Database 19c Pre-BuiltDeveloperVMの使用方法

    3. MySQLの挿入と結合

    4. MySQLで列のパーセンテージを計算する方法