집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 오류를 해결하는 방법: '지정된 키가 너무 깁니다. 최대 키 길이는 1000바이트입니다.'
"Mysql::Error: Specified key was too long; max key length is 1000 bytes" 문제 해결
다음을 실행하려고 할 때 명령:
script/generate acts_as_taggable_on_migration rake db:migrate
다음과 같은 명령이 발생할 수 있습니다. 오류:
Mysql::Error: Specified key was too long; max key length is 1000 bytes: CREATE INDEX `index_taggings_on_taggable_id_and_taggable_type_and_context` ON `taggings` (`taggable_id`, `taggable_type`, `context`)
원인
이 오류는 MySQL의 스토리지 엔진이 인덱스 크기에 적용한 제한으로 인해 발생합니다. Ruby on Rails와 함께 일반적으로 사용되는 MyISAM 엔진은 인덱스 크기를 1,000바이트로 제한합니다.
솔루션
이 문제를 해결하려면 다음 전략을 고려하세요.
CREATE INDEX example_idx_id ON YOUR_TABLE(taggable_id) CREATE INDEX example_idx_type ON YOUR_TABLE(taggable_type)
추가 구성
데이터베이스 인코딩 설정에 표시된 대로 데이터베이스는 latin1 문자 인코딩을 사용하도록 구성되었습니다. 이로 인해 UTF-8 인코딩을 사용하는 열에 대한 인덱스의 효율성이 제한될 수 있습니다. 인덱스 성능을 향상하려면 데이터베이스를 UTF-8 인코딩으로 변환하는 것이 좋습니다.
위 내용은 MySQL 오류를 해결하는 방법: '지정된 키가 너무 깁니다. 최대 키 길이는 1000바이트입니다.'의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!