반응형
UTF8 -> UTF8MB4 변환시 발생하는 에러중 하나로 아래처럼 변환시 에러가 발생한다.
ALTER TABLE 테이블명 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 에러 발생
[ERROR] /usr/local/libexec/mysqld: Incorrect key file for table '테이블명.MYI'; try to repair it
이경우 UTF8MB4 에서는 한 글자당 4바이트이기 때문에 인덱스 최대 사이즈가 달라지기 때문에 발생한다.
4000바이트로 최대값인 3072바이트보다 크기 때문이다.
# 해결 방벙
> 속성의 크기를 줄인다.
ALTER TABLE 테이블명 DROP PRIMARY KEY, ADD PRIMARY KEY(컬럼1,컬럼2(400))
반응형