MySQL は、人気のあるオープンソースのリレーショナル データベース管理システムです。 MySQL を使用すると、大量のデータを保存してアクセスするためのデータベースを作成および管理できます。ストアド プロシージャは、データベースに保存されているコード ブロックであり、これを呼び出すことで一般的な操作を実行できます。ストアド プロシージャを開発およびデバッグするときに、問題やエラーが発生する場合があります。この記事では、MySQL ストアド プロシージャをデバッグする方法を紹介します。
ストアド プロシージャをデバッグする前に、MySQL ストアド プロシージャ デバッガを有効にする必要があります。これは、MySQL 構成ファイルで次のパラメータを設定することで実現できます。
[mysqld] ... # Enable stored procedure debugging debugger=1
ファイルを設定した後、変更を有効にするために MySQL を再起動する必要があります。
MySQL には、シングルステップとノンステップの 2 つの主なタイプのデバッガがあります。シングルステップ デバッグは、ストアド プロシージャを 1 行ずつ実行し、各ステートメントの実行をステップごとに追跡する最も簡単な方法です。ノンステップ デバッグは、ストアド プロシージャの実行中にブレークポイントを実行する方法です。両方のデバッガについては、以下で詳しく説明します。
シングルステップ デバッグは、ストアド プロシージャを 1 行ずつ実行する方法です。これにより、各ステートメントの前にコードを一時停止して検査することができます。次の手順に従って、シングルステップ デバッガーを有効にして使用できます。
まず、ストアド プロシージャを定義して、その方法を示す必要があります。シングルステップデバッグを実行します。以下は、単純なストアド プロシージャです。
DELIMITER $$ CREATE PROCEDURE simple_addition(i INT, j INT) BEGIN DECLARE result INT; SET result = i + j; SELECT result; END$$ DELIMITER ;
ストアド プロシージャを定義した後、シングルステップ デバッガーを有効にする必要があります。次のステートメントを使用できます。
SET @@DEBUG=1;
次に、ストアド プロシージャ呼び出しステートメントに「debug」キーワードを追加して、デバッガーを開始する必要があります。 :
CALL simple_addition(20, 30) debug;
このステートメントを実行すると、MySQL は実行を一時停止し、制御をシングルステップ デバッガに移します。
CALL simple_addition(20, 30) debug;
DELIMITER $$ CREATE PROCEDURE simple_subtraction(i INT, j INT) BEGIN DECLARE result INT; SET result = i - j; SELECT result; END$$ DELIMITER ;非シングルステップ デバッガーを有効にする
CALL simple_subtraction(20, 30) debug_on_break;
ストアド プロシージャの実行時にブレークポイントに遭遇すると、MySQL は自動的に実行を停止します。
非シングルステップ デバッグの使用CALL simple_subtraction(20, 30) debug_on_break(3);
c;
p result;
b -3;
r;
以上がMySQL ストアド プロシージャをデバッグする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。