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


23.8.7.67 mysql_sqlstate()

const char *mysql_sqlstate(MYSQL *mysql)

説明

最近実行した SQL ステートメントに対する SQLSTATE エラーコードを含む、NULL 終端文字列を返します。エラーコードは 5 つの文字から構成されます。'00000'エラーなしを意味します。値は ANSI SQL と ODBC によって規定されています。可能な値のリストについては、付録B「エラー、エラーコード、および一般的な問題を参照してください。

mysql_sqlstate() によって返される SQLSTATE 値は、mysql_errno() によって返される MySQL 固有のエラー番号とは異なります。たとえば、mysql クライアントプログラムは、次の形式を使用してエラーを表示します。ここで、1146mysql_errno() 値で、'42S02' は対応する mysql_sqlstate() 値です。

shell> SELECT * FROM no_such_table;
ERROR 1146 (42S02): Table 'test.no_such_table' doesn't exist

すべての MySQL エラー番号が SQLSTATE エラーコードにマップされるわけではありません。値 'HY000' (一般エラー) がマップされていないエラー番号に使われます。

mysql_real_connect() が失敗したあとに mysql_sqlstate() を呼び出した場合、mysql_sqlstate() は有益な値を返さないことがあります。たとえば、これは、ホストがサーバーによってブロックされ、SQLSTATE 値がクライアントに送信されることなく、接続が閉じられた場合に発生します。

戻り値

SQLSTATE エラーコードを含む NULL 終端文字列。

関連項目

セクション23.8.7.14「mysql_errno()」セクション23.8.7.15「mysql_error()」、およびセクション23.8.11.27「mysql_stmt_sqlstate()」を参照してください。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.