개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.05 21:44

mysqli_stmt::$sqlstate 관련 질문

목록
  • CI/CD장인 5시간 전 2025.08.05 21:44 새글
  • 1
    1
제가 mysqli_stmt::$sqlstate를 사용하여 SQL 에러를 처리하려고 하는데, sqlstate의 값이 어떻게 나누어지는지 궁금합니다.
예를 들어, 42000은 무슨 의미인가요?
또한, sqlstate가 42000일 때, 에러 메시지가 어떻게 나올 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  5시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,750건 / 1 페이지

검색

게시물 검색