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 22.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.