1264: Out of range value for column
MySQL의미
숫자 또는 날짜 컬럼에 타입이 허용하는 범위를 벗어난 값이 삽입되었다. 이 오류는 strict SQL 모드에서 발생한다.
원인
TINYINT/INT 같은 타입의 한도 초과(예: TINYINT에 200, UNSIGNED 컬럼에 음수 값), 날짜/숫자 오버플로, 또는 예상보다 큰 값 전송.
해결 방법
필요에 따라 컬럼 타입을 넓히거나(예: TINYINT 대신 INT, INT 대신 BIGINT) 부호(SIGNED/UNSIGNED)를 수정한다. 애플리케이션에서 값 범위를 검증한다. 조용히 잘라내는 동작을 원하더라도(권장하지 않음) sql_mode에서 STRICT를 제거하지 말고 데이터를 타입에 맞춘다.
같은 데이터베이스의 다른 항목
- 1452Cannot add or update a child row: a foreign key constraint fails
- 1366Incorrect string/integer value for column
- 1044Access denied for user to database
- 1052Column 'x' in field list is ambiguous
- 1136Column count doesn't match value count
- 1048Column 'x' cannot be null
- 1292Incorrect datetime value / truncated incorrect value