원인 확인 단계

터미널에서 다음 명령을 실행하여 기본 키의 가장 높은 값을 확인합니다. SELECT MAX(value_id) FROM catalog_product_entity_int;

max(value_id)이(가) max int(11) [ 4294967296 ]보다 낮고 [ AUTO_INCREMENT ]의 값이 max int(11) [ 4294967296 ]보다 크거나 같은 경우 테이블에서 다음 값으로 [ AUTO_INCREMENT ]을(를) 업데이트하는 것이 좋습니다. 그렇지 않으면 INT에서 BIGINT 스키마 업데이트를 고려하십시오.

테이블에서 다음 값으로 AUTO_INCREMENT 업데이트

경고
테이블을 변경하기 전에 데이터베이스 백업을 수행합니다. 또한 사이트를 유지 관리 모드로 전환하세요. 또한 변경한 후 데이터베이스 테이블(변경된 테이블만)에서 MySQL optimize 명령을 실행하는 것이 좋습니다.
노트
특정 테이블에서 최적화 명령을 실행하는 동안 사이트는 유지 관리 모드에 있어야 합니다. 이렇게 하면 테이블이 완전히 다시 빌드되고 테이블에서 데이터를 삭제한 후 공간이 확보됩니다.

아래 예제 터미널 출력에 표시된 대로 표시된 값이 max int(11) [ 4294967296 ]보다 낮은 경우 [ AUTO_INCREMENT ] 테이블이 max [ int(11) ] 값보다 크거나 같은 숫자로 변경되었습니다.

MariaDB [xxx]> SELECT MAX(value_id) FROM catalog_product_entity_int;
+---------------------+
| MAX(source_item_id) |
+---------------------+
|          4283174130 |
+---------------------+

이 오류가 발생했는지 확인하려면 터미널에서 다음 명령을 실행합니다.

MariaDB [xxx]> show create table catalog_product_entity_int;

...
) ENGINE=InnoDB AUTO_INCREMENT=4294967297 DEFAULT CHARSET=utf8 COMMENT='Catalog Product Integer Attribute Backend Table';

위의 예에서 보듯이 테이블 [ AUTO_INCREMENT ]이(가) max int(11) [ 4294967296 ]보다 큰 숫자로 변경되었습니다. 해결 방법은 테이블에서 다음 값으로 [ AUTO_INCREMENT]을(를) 업데이트하는 것입니다.

ALTER TABLE catalog_product_entity_int AUTO_INCREMENT = 4283174131;