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 specified
by 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, you can access the MySQL error code, the SQLSTATE value, and the message string 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 20.9, “MySQL C API”.
The first two characters of an SQLSTATE value indicate the error class:
'00'
indicates success.
'01'
indicates a warning.
'02'
indicates “not found.”
These values are relevant only within the context of cursors
and are used to control what happens when a cursor reaches the
end of a data set.
Other values indicate an exception.
User Comments
Add your own comment.