본문 바로가기
Linux

MariaDB - Specified key was too long

by 올엠 2020. 11. 6.
반응형
Specified key was too long; max key length is 767 bytes

 

이는 InnoDB 엔진에 관련된 내용이다. 

MariaDB, MySQL은 하나의 Row이 가질 수 있는 최대 Index 길이의 제한이 있고 이 제한이 767 Bytes 까지이다.

이 제한을 풀기 위해서는 set global innodb_large_prefix = ON; 이후 생성하고자 하는 테이블 옵션에 ROW_FORMAT=DYNAMIC 옵션을 추가하여 해결이 가능하다.

set global innodb_large_prefix = ON;

위 옵션이 정상적으로 실행되었다면 테이블을 만들때 엔진 옵션으로 DYNAMIC을 추가하면 정상적으로 테이블 생성이 가능하다.

ENGINE=INNODB ROW_FORMAT=DYNAMIC

dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html

 

MySQL :: MySQL 5.7 Reference Manual :: 14.15 InnoDB Startup Options and System Variables

 

dev.mysql.com

 

반응형