DBAtlas · 데이터베이스 운영 아틀라스

1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value (해당 값에 대한 파티션 없음)

MySQL

의미

삽입하는 행의 파티션 키 값이 정의된 어떤 파티션에도 맞지 않는다. RANGE 또는 LIST 파티셔닝에서 들어오는 값을 포함하는 파티션이 없어 삽입이 실패한다.

원인

RANGE 파티셔닝에서 MAXVALUE 파티션 없이 최상위 경계를 넘는 값(예: 미래 날짜)을 삽입하거나, LIST 파티셔닝에서 목록에 없는 값이 들어온 경우다. 새 기간의 파티션을 제때 추가하지 않은 시간 기반 파티션 테이블에서 흔하다.

해결 방법

값을 포함하는 파티션을 추가한다. RANGE의 새 상위 파티션: ALTER TABLE my_table ADD PARTITION (PARTITION p2026 VALUES LESS THAN (2027)); 모든 값을 받는 파티션이 필요하면 RANGE에는 MAXVALUE를, LIST에는 해당 값을 정의한다. 시간 기반 테이블에서는 파티션을 자동으로 추가하는 유지보수 작업(event/scheduler)을 구성한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목