반응형 utf8mb42 UFT8MB4 변환시 에러 - Specified key was too long; max key length is 3072 bytes 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(컬럼.. 2024. 4. 30. Mysql euckr -> utf8mb4 변환시 ALTER [IGNORE] 참고 ALTER [IGNORE] TABLE tbl_name alter_specification [, alter_specification] ... alter_specification: ADD [COLUMN] column_definition [FIRST | AFTER col_name ] | ADD [COLUMN] (column_definition,...) | ADD INDEX [index_name] [index_type] (index_col_name,...) | ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) | ADD [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type] (.. 2024. 4. 17. 이전 1 다음 반응형