Out of range value for column '%s' at row %ld
MariaDB 오류 코드 1264와 SQLSTATE 22003의 오류 문자열을 로그 또는 클라이언트 출력에서 식별합니다.
빠른 답변
- 우선 확인할 원인
- MariaDB 오류 코드 1264와 SQLSTATE 22003은 `Out of range value for column '%s' at row %ld` 문자열로 표시됩니다.
- 먼저 확인할 항목
- 로그 또는 MariaDB 클라이언트 출력의 숫자 오류 코드가 `1264`인지 확인합니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
- 출처 확인일
- 2026-07-29
- 최종 검토
- 2026-07-24
- 수정일
- 2026-07-27
- 정정 이력
- 2026-07-29 이후 기록 없음
- 관련 기술
현재 증상
- 애플리케이션 오류 메시지
먼저 확인할 항목
로그 또는 MariaDB 클라이언트 출력의 숫자 오류 코드가 `1264`인지 확인합니다.
같은 출력의 SQLSTATE가 `22003`인지 확인합니다.
오류 문자열이 `Out of range value for column '%s' at row %ld` 형식과 일치하는지 확인합니다.
환경별 원인과 조치
현재 로그 또는 MariaDB 클라이언트 출력에서 숫자 오류 코드, SQLSTATE, 오류 문자열을 확인합니다.
다음 값이 함께 표시되면 MariaDB 오류 코드 1264에 해당합니다.
- 숫자 오류 코드:
1264 - SQLSTATE:
22003 - 오류 문자열:
Out of range value for column '%s' at row %ld
%s와 %ld 위치에는 실제 출력의 열 이름과 행 번호가 표시됩니다.
이 문서는 오류 식별만 다룹니다. 제공된 원문에는 이 오류의 원인이나 복구 절차가 없습니다.
진단 기록
먼저 문제가 발생한 URL 또는 화면, 표시 시각, 사용한 플랫폼과 배포 버전을 기록합니다. 화면과 로그에서 오류 문자열이 일부만 보이면 앞뒤 문장을 포함해 원문을 보존하고, 민감한 값은 가립니다.
다음 순서로 관찰값을 대조합니다.
- 로그 또는 MariaDB 클라이언트 출력의 숫자 오류 코드가
1264인지 확인합니다. - 같은 출력의 SQLSTATE가
22003인지 확인합니다. - 오류 문자열이
Out of range value for column '%s' at row %ld형식과 일치하는지 확인합니다.
각 항목은 확인한 값과 확인하지 못한 이유를 함께 기록해야 합니다. 이 문서의 조건과 실제 관찰값이 다르면 원인을 단정하지 말고, 문제 해결 시작 가이드에서 더 넓은 분기를 선택하십시오.
판정 기준
오류 문자열이 일치한다는 사실만으로 원인이 확정되지는 않습니다. 같은 문구가 여러 환경에서 나타날 수 있으므로 웹서버·런타임·운영체제·최근 변경 사항을 함께 비교합니다. 한 단계에서 기대한 값이 나오지 않으면 다음 단계로 넘어가지 말고 해당 환경의 공식 문서를 우선 확인합니다.
안전한 다음 단계
검사 전에 백업과 변경 이력을 확인하고, 비밀번호·세션 쿠키·인증 토큰·개인정보를 공개 로그나 문의 내용에 넣지 않습니다. 설정·권한·데이터를 변경해야 한다면 영향 범위와 되돌리는 방법을 먼저 기록한 뒤 운영 시간과 승인 절차에 맞춰 진행합니다.
원인 분포
[Observation] 입력된 3건에서는 다음 원인이 관측되었습니다.
- 2건:
INT(10),INT(15)와 같은 표시 폭을 저장 범위로 잘못 이해하여 signedINT의 범위를 초과했습니다. - 1건: CSV 적재 중
AUTO_INCREMENT열의 값이 signedINT상한으로 설정되었습니다.
[Observation] 위 분류는 관측된 사례 기준이며 실제 발생 빈도를 의미하지 않습니다.
오진 함정
[Observation] INT(10), INT(11), INT(15)의 숫자는 저장 가능한 범위를 넓히지 않습니다.
[Observation] 전화번호와 팩스 번호처럼 계산하지 않는 값은 숫자형 범위 문제를 피하기 위해 텍스트형 저장이 대안으로 제시되었습니다.
[Hypothesis] 오류 메시지의 열 이름만 보고 입력값 문제로 단정하면, 실제로는 AUTO_INCREMENT 초기값이나 열 정의가 원인인 사례를 놓칠 수 있습니다.
환경 매트릭스
| 환경 | 관측된 입력 | 관측된 문제 | 사례에서 보고된 수정 |
|---|---|---|---|
일반 INSERT | signed INT 열의 팩스 번호 | 정수 범위 초과 | 식별자는 VARCHAR, 수치는 더 큰 정수형 사용 |
| phpMyAdmin 입력 | INT(15) 열의 10자리 전화번호 | 값이 signed INT 상한으로 조정됨 | BIGINT로 변경하거나 텍스트로 저장 |
OpenOffice Calc CSV + LOAD DATA | INT(11) AUTO_INCREMENT 열의 첫 행 값 | 이후 행 처리 중단 | 열 정의 정리 |
진단 순서
- [Observation] 오류가 발생한 열의 자료형과 signed 정수 범위를 확인합니다.
- [Observation]
INT(n)의n을 저장 범위로 해석하지 않았는지 확인합니다. - [Observation] 입력값이 전화번호·팩스 번호처럼 계산하지 않는 식별자인지 확인하고, 해당 사례에서는
VARCHAR가 대안으로 제시되었습니다. - [Observation] 실제 수치 또는 파일 크기처럼 더 큰 범위가 필요한 값이면
BIGINT등 더 큰 정수형 변경 여부를 검토합니다. - [Observation] CSV 적재나
AUTO_INCREMENT를 사용하는 경우 초기값과 첫 행의 값을 함께 확인합니다.
참고 자료
MariaDB · 공식 자료 · 확인 범위: MariaDB 오류는 숫자 오류 코드, 5자리 SQLSTATE 값, 오류 설명 문자열을 반환합니다., 오류 코드 1264의 SQLSTATE는 22003입니다., 오류 코드 1264의 오류 문자열은 `Out of range value for column '%s' at row %ld`입니다. · 확인일: 2026-07-24
확인 범위: INT 열에 signed INT가 저장할 수 있는 범위를 넘는 팩스 번호를 INSERT할 때 오류 1264가 발생했습니다., INT(10)의 숫자 10은 저장 범위를 확장하지 않는 표시 폭입니다., 식별자에는 VARCHAR를, 실제 수치에는 더 큰 정수형을 사용하는 방안이 제시되었습니다. · 확인일: 2026-07-29
확인 범위: 10자리 전화번호를 INT(15)에 저장할 때 값이 signed INT 상한으로 조정되며 오류 1264가 발생했습니다., INT(15)의 표시 폭은 저장 가능한 값의 범위를 넓히지 않습니다., 열을 BIGINT로 변경한 뒤 문제가 해결되었고, 계산하지 않는 전화번호는 텍스트로 저장하는 대안이 제시되었습니다. · 확인일: 2026-07-29
확인 범위: CSV를 LOAD DATA로 적재할 때 rid 열에서 오류 1264 경고가 발생했습니다., AUTO_INCREMENT rid의 첫 행 값이 signed INT 상한으로 설정되어 이후 행 처리가 중단되었습니다., rid를 INT(11)로 선언한 상태에서 값 범위를 잘못 이해한 것이 원인으로 제시되었으며, 열 정의를 정리한 뒤 경고가 해결되었습니다. · 확인일: 2026-07-29