Spec-Zone .ru
спецификации, руководства, описания, API
|
When an error occurs in MySQL, the server returns two types of error values:
A MySQL-specific error code. This value is numeric. It is not portable to other database systems.
An SQLSTATE value. The value is a five-character string (for example, '42S02'
). The values are taken from ANSI SQL and ODBC and are more
standardized.
A message string that provides a textual description of the error is also available.
When an error occurs, the MySQL error code, SQLSTATE value, and message string are available using C API functions:
MySQL error code: Call mysql_errno()
SQLSTATE value: Call mysql_sqlstate()
Error message: Call mysql_error()
For prepared statements, the corresponding error functions are mysql_stmt_errno()
, mysql_stmt_sqlstate()
, and mysql_stmt_error()
. All error functions are described in Section
22.8, "MySQL C API".
The number of errors, warnings, and notes for the previous statement can be obtained by calling mysql_warning_count()
. See Section
22.8.7.73, "mysql_warning_count()
".
The first two characters of an SQLSTATE value indicate the error class:
Class = '00'
indicates success.
Class = '01'
indicates a warning.
Class = '02'
indicates "not found." This is relevant within the context of cursors and
is used to control what happens when a cursor reaches the end of a data set. This condition also occurs
for SELECT ... INTO
statements that retrieve no rows. var_list
Class > '02'
indicates an exception.