Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда ошибка происходит в MySQL, сервер возвращает два типа ошибочных значений:
Специфичный для MySQL код ошибки. Это значение является числовым. Это не переносимо на другие системы баз данных.
Значение SQLSTATE. Значение является пятисимвольной строкой (например, '42S02'
). Значения принимаются от ANSI SQL и ODBC и более стандартизируются.
Строка сообщения, которая обеспечивает текстовое описание ошибки, также доступна.
Когда ошибка происходит, код ошибки MySQL, значение SQLSTATE, и строка сообщения является доступным использованием C API-функции:
Код ошибки MySQL: Вызвать mysql_errno()
Значение SQLSTATE: Вызвать mysql_sqlstate()
Сообщение об ошибке: Вызвать mysql_error()
Для готовых операторов соответствующие функции ошибок mysql_stmt_errno()
, mysql_stmt_sqlstate()
, и mysql_stmt_error()
. Все функции ошибок описываются в Разделе
22.8, "API MySQL C".
Число ошибок, предупреждений, и примечаний для предыдущего оператора может быть получено, вызывая mysql_warning_count()
. См. Раздел
22.8.7.73,"mysql_warning_count()
".
Первые два символа значения SQLSTATE указывают на ошибку class:
Класс = '00'
указывает на успех.
Класс = '01'
указывает на предупреждение.
Класс = '02'
указывает "не найденный." Это релевантно в пределах контекста курсоров и
используется, чтобы управлять тем, что происходит, когда курсор достигает конца набора данных. Это
условие также происходит для SELECT ... INTO
операторы, которые не получают строк. var_list
Класс> '02'
указывает на исключение.