database, query

specified key was too long max key length is 767 bytes 오류 해결방법

디츠 2018. 6. 5. 14:26

1. database level 에서 innodb_file_format=BARRACUDA

2. table level 에서 ROW_FORMAT=DYNAMIC 또는 ROW_FORMAT=COMPRESSED 사용

다음과 같이 사용하면 정상적으로 테이블을 생성할 수 있습니다.

set global innodb_large_prefix = ON;
set global innodb_file_format = BARRACUDA;
CREATE TABLE test (
	id INTEGER NOT NULL AUTO_INCREMENT,
	name VARCHAR(255) NOT NULL,
	PRIMARY KEY (id),
	INDEX idx_test_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;