Spec-Zone .ru
спецификации, руководства, описания, API
|
const char *mysql_sqlstate(MYSQL *mysql)
Возвращает завершенную нулем строку, содержащую код ошибки SQLSTATE для последний раз выполняемого
SQL-оператора. Код ошибки состоит из пяти символов. '00000'
не означает "ошибки." Значения определяются ANSI SQL и
ODBC. Для списка возможных значений см. Приложение
C, Ошибки, Коды ошибки, и Типичные проблемы.
Значения SQLSTATE, возвращенные mysql_sqlstate()
отличайтесь от специфичных для MySQL кодов ошибки, возвращенных
mysql_errno()
.
Например, mysql клиентская программа выводит на экран ошибки,
используя следующий формат, где 1146
mysql_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_sqlstate()
после
mysql_real_connect()
сбои, mysql_sqlstate()
не мог бы возвратить полезное значение. Например, это
происходит, если узел блокируется сервером, и соединение закрывается без любого значения SQLSTATE, отправляемого
клиенту.
Завершенная нулем символьная строка, содержащая код ошибки SQLSTATE.
См. Раздел 22.8.7.14,"mysql_errno()
", Раздел
22.8.7.15,"mysql_error()
", и Раздел
22.8.11.27,"mysql_stmt_sqlstate()
".