Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


B.2 エラー値のタイプ

MySQL でエラーが発生すると、サーバーは 2 種類のエラー値を返します。

  • MySQL 固有のエラーコード。この値は数字です。これはほかのデータベースシステムには移植できません。

  • SQLSTATE 値。値は 5 文字の文字列です (たとえば、'42S02')。この値は、ANSI SQL および ODBC から採用されており、より標準化されています。

エラーの説明を示すメッセージ文字列も利用できます。

エラーが発生した場合は、C API 関数を使用して、MySQL のエラーコード、SQLSTATE 値、およびメッセージ文字列を利用できます。

  • MySQL エラーコード: Call mysql_errno()

  • SQLSTATE 値: Call mysql_sqlstate()

  • エラーメッセージ: Call mysql_error()

準備済みステートメントの場合、対応するエラー関数は mysql_stmt_errno()mysql_stmt_sqlstate()、および mysql_stmt_error() です。すべてのエラー関数については、セクション23.8「MySQL C API」で説明しています。

最後のステートメントのエラー、警告、および注意の数は、mysql_warning_count() を呼び出すことによって取得できます。セクション23.8.7.73「mysql_warning_count()」を参照してください。

SQLSTATE 値の最初の 2 文字はエラークラスを示しています。

  • クラス = '00' は成功を示しています。

  • クラス = '01' は警告を示しています。

  • クラス = '02'Not Found を示しています。これは、カーソルのコンテキストに関係しており、カーソルがデータセットの最後に達したときの動作を制御するために使用します。この状況は、行が取得されない SELECT ... INTO var_list ステートメントでも発生します。

  • クラス > '02' は例外を示しています。