
mysqli_stmt::$sqlstate는 SQL 상태 코드를 나타내는 문자열입니다. 이 코드는 SQL 표준에 따라 정의된 코드를 사용합니다.
SQL 상태 코드는 다음과 같이 나누어집니다.
- 00000: 성공
- 01000: 일반 정보
- 01001: 드라이버 이름이 알려져 있지 않습니다.
- 01002: 드라이버 버전이 알려져 있지 않습니다.
- 01003: 드라이버 이름이 알려져 있지 않습니다.
- 01004: 드라이버 버전이 알려져 있지 않습니다.
- 01006: 연결이 끊어졌습니다.
- 01007: 연결이 끊어졌습니다.
- 01008: 연결이 끊어졌습니다.
- 01009: 연결이 끊어졌습니다.
- 0100x: 연결이 끊어졌습니다.
- 22001: NULL 값이 허용되지 않습니다.
- 22007: NULL 값이 허용되지 않습니다.
- 22012: NULL 값이 허용되지 않습니다.
- 22018: NULL 값이 허용되지 않습니다.
- 22023: NULL 값이 허용되지 않습니다.
- 22024: NULL 값이 허용되지 않습니다.
- 22025: NULL 값이 허용되지 않습니다.
- 22026: NULL 값이 허용되지 않습니다.
- 22027: NULL 값이 허용되지 않습니다.
- 22028: NULL 값이 허용되지 않습니다.
- 22029: NULL 값이 허용되지 않습니다.
- 2203x: NULL 값이 허용되지 않습니다.
- 23000: 트랜잭션 관리 오류
- 23001: 트랜잭션 관리 오류
- 23002: 트랜잭션 관리 오류
- 23003: 트랜잭션 관리 오류
- 23004: 트랜잭션 관리 오류
- 2300x: 트랜잭션 관리 오류
- 24000: 데이터베이스 언어 오류
- 24001: SQL 문법 오류
- 24002: SQL 문법 오류
- 24003: SQL 문법 오류
- 24004: SQL 문법 오류
- 24005: SQL 문법 오류
- 24006: SQL 문법 오류
- 24007: SQL 문법 오류
- 24008: SQL 문법 오류
- 24009: SQL 문법 오류
- 2400x: SQL 문법 오류
- 25000: 데이터베이스 관리 오류
- 25001: 데이터베이스 관리 오류
- 25002: 데이터베이스 관리 오류
- 25003: 데이터베이스 관리 오류
- 25004: 데이터베이스 관리 오류
- 25005: 데이터베이스 관리 오류
- 25006: 데이터베이스 관리 오류
- 25007: 데이터베이스 관리 오류
- 25008: 데이터베이스 관리 오류
- 25009: 데이터베이스 관리 오류
- 2500x: 데이터베이스 관리 오류
- 26000: 프로토콜 오류
- 26000: 프로토콜 오류
- 27000: 내부 오류
- 27001: 내부 오류
- 27002: 내부 오류
- 27003: 내부 오류
- 27004: 내부 오류
- 27005: 내부 오류
- 27006: 내부 오류
- 27007: 내부 오류
- 27008: 내부 오류
- 27009: 내부 오류
- 2700x: 내부 오류
- 28000: 인증 오류
- 28000: 인증 오류
- 29000: 권한 오류
- 29000: 권한 오류
- 30000: 기타 오류
- 30000: 기타 오류
- 33000: SQL 서버 오류
- 42000: 트랜잭션 관리 오류
- 42001: 트랜잭션 관리 오류
- 42002: 트랜잭션 관리 오류
- 42003: 트랜잭션 관리 오류
- 42004: 트랜잭션 관리 오류
- 42005: 트랜잭션 관리 오류
- 42006: 트랜잭션 관리 오류
- 42007: 트랜잭션 관리 오류
- 42008: 트랜잭션 관리 오류
- 42009: 트랜잭션 관리 오류
- 4200x: 트랜잭션 관리 오류
- 43000: 데이터베이스 언어 오류
- 43001: SQL 문법 오류
- 43002: SQL 문법 오류
- 43003: SQL 문법 오류
- 43004: SQL 문법 오류
- 43005: SQL 문법 오류
- 43006: SQL 문법 오류
- 43007: SQL 문법 오류
- 43008: SQL 문법 오류
- 43009: SQL 문법 오류
- 4300x: SQL 문법 오류
- 44000: 데이터베이스 관리 오류
- 44001: 데이터베이스 관리 오류
- 44002: 데이터베이스 관리 오류
- 44003: 데이터베이스 관리 오류
- 44004: 데이터베이스 관리 오류
- 44005: 데이터베이스 관리 오류
- 44006: 데이터베이스 관리 오류
- 44007: 데이터베이스 관리 오류
- 44008: 데이터베이스 관리 오류
- 44009: 데이터베이스 관리 오류
- 4400x: 데이터베이스 관리 오류
- 45000: 프로토콜 오류
- 45000: 프로토콜 오류
- 46000: 내부 오류
- 46000: 내부 오류
- 47000: 인증 오류
- 47000: 인증 오류
- 48000: 권한 오류
- 48000: 권한 오류
- 49000: 기타 오류
- 49000: 기타 오류
sqlstate가 42000일 때, 에러 메시지는 다음과 같이 나올 수 있습니다.
- 트랜잭션 관리 오류
- 트랜잭션 관리 오류
- 트랜잭션 관리 오류
- 트랜잭션 관리 오류
- 트랜잭션 관리 오류
예를 들어, 다음과 같이 에러 메시지가 나올 수 있습니다.
- 트랜잭션 관리 오류: 트랜잭션을 롤백할 수 없습니다.
- 트랜잭션 관리 오류: 트랜잭션을 커밋할 수 없습니다.
- 트랜잭션 관리 오류: 트랜잭션을 롤백할 수 없습니다.
- 트랜잭션 관리 오류: 트랜잭션을 커밋할 수 없습니다.
- 트랜잭션 관리 오류: 트랜잭션을 롤백할 수 없습니다.
이러한 에러 메시지는 sqlstate가 42000일 때, 나올 수 있습니다.
2025-08-05 21:47