ホームページ >データベース >mysql チュートリアル >mysqlでエラーが発生した場合の対処方法
Mysql エラー処理方法: 1. 1062 エラーが発生した場合は SELECT 文を実行する; 2. SQL の select 文が値を返さない場合は [l_done=1] を設定して実行を続行する; 3. その後エラー メッセージが生成される 現在のブロックまたはストアド プロシージャを終了します; 4. エラーがある場合は、[l_error] を 1 に設定して実行します。
Mysql エラー処理方法:
1. 何らかのエラー (NOT FOUND) がある場合は、l_error を設定します。 1 になった後も実行を続行します:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET l_error=1;
2。エラーが発生した場合 (NOT FOUND ではない)、現在のブロックまたはストアド プロシージャを終了する前に ROLLBACK を実行し、エラー メッセージを生成します。
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; SELECT 'Error occurred – terminating'; END;
3. MySQL 1062 エラー (キー値の重複) が発生した場合は、SELECT ステートメントを実行し (呼び出しプログラムにメッセージを送信)、実行を続行します。
DECLARE CONTINUE HANDER FOR 1062 SELECT 'Duplicate key in index';
4. SQLSTATE 2300 エラーの場合(重複キー値) ヘルス値) が発生した場合、SELECT ステートメントを実行し (呼び出しプログラムにメッセージを送信)、実行を続行します
DECLARE CONTINUE HANDER FOR SQLSTATE '23000' SELECT 'Duplicate key in index';
5。カーソルまたは SQL select ステートメントが値を返さない場合は、l_done を設定します。 =1 にして実行を続行します
DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_done=1;
6。この例は、名前付き条件
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000 ' SET l_done=1;
7の代わりにSQLSTATE変数を使用することを除いて、前の例と同じです。この例では、MySQLエラーを使用します。名前付き条件または SQLSTATE 変数の代わりにコード変数を使用します。2 つの例は同じです
DECLARE CONTINUE HANDLER FOR 1329 SET l_done=1;
その他の関連する無料学習の推奨事項:mysql チュートリアル ######(ビデオ)### ######
以上がmysqlでエラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。