5

MySQL5.5を使用しています。
MySQL 5.6で例外メッセージを取得するには、GET DIAGNOSTIC関数を使用しています。MySQL 5.5に同様の機能はありますか?
私が取り組んでいるプロジェクトはすでにMySQLバージョン5.5を使用しています。

4

1 に答える 1

4

と を使用してみてSHOW ERRORくださいSHOW WARNING。最後のエラーまたは警告を表示するには、次のように使用できます。

SHOW ERRORS LIMIT 1   -- for SQL-state > 2
SHOW WARNINGS LIMIT 1 -- for SQL-state 1,2

すべてのエラーをリストするのを防ぐために、SQL エラーのクラスを次のように処理できます。

SQLWARNING は、'01' で始まる SQLSTATE 値のクラスの省略形です。

NOT FOUND は、'02' で始まる SQLSTATE 値のクラスの省略形です。これは、カーソルのコンテキスト内でのみ関連し、カーソルがデータ セットの最後に到達したときの動作を制御するために使用されます。使用できる行がない場合、SQLSTATE 値 02000 で No Data 状態が発生します。この状態を検出するには、それ (または NOT FOUND 状態) のハンドラーを設定できます。例は、セクション12.7.5「カーソル」に示されています。この状態は、行を取得しない SELECT ... INTO var_list ステートメントでも発生します。

SQLEXCEPTION は、'00'、'01'、または '02' で始まらない SQLSTATE 値のクラスの省略形です。

したがって、例外を処理するには、次のことだけを行う必要があります。

DECLARE EXIT HANDLER FOR SQLSTATE SQLEXCEPTION .....;

リンク:

http://dev.mysql.com/doc/refman/5.5/en/signal.html

http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html

于 2012-09-06T10:57:38.880 に答える