23.8.7.67 mysql_sqlstate()
const char *mysql_sqlstate(MYSQL *mysql)
설명
최근에 실행 된 SQL 문에 대한 SQLSTATE 에러 코드를 포함한 NULL로 끝나는 문자열을 반환합니다. 오류 코드는 5 개의 문자로 구성됩니다. '00000'
은 "오류없이"을 의미합니다. 값은 ANSI SQL과 ODBC에 의해 규정되어 있습니다. 가능한 값의 목록은 부록 B 오류 오류 코드 및 일반적인 문제 를 참조하십시오.
mysql_sqlstate()
에 의해 반환되는 SQLSTATE 값은 mysql_errno()
에 의해 반환되는 MySQL 고유의 오류 번호와는 다릅니다. 예를 들어, 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_real_connect()
가 실패한 후 mysql_sqlstate()
를 호출하면 mysql_sqlstate()
는 유익한 값을 반환하지 않을 수 있습니다. 예를 들어, 이것은 호스트가 서버에 의해 차단되고 SQLSTATE 값을 클라이언트로 전송하지 않고 연결이 닫힌 경우에 발생합니다.
반환 값
SQLSTATE 에러 코드를 포함 NULL로 끝나는 문자열.
관련 항목
섹션 23.8.7.14 "mysql_errno ()" , 섹션 23.8.7.15 "mysql_error ()" 및 섹션 23.8.11.27 "mysql_stmt_sqlstate ()" 를 참조하십시오.