반응형
저는 rails 2.3.5 응용 프로그램을 사용하고 있습니다. 마녀에는이 분야가 있습니다.
t.string "trip_cities", :limit => 256
그리고이 색인
add_index "bookings", ["trip_cities"], :name => "trip_cities"
실행하려고 할 때 :
bundle exec rake db:test:load
이 오류가 발생합니다. Mysql :: Error : Specified key was too long; 최대 키 길이는 767 바이트입니다. CREATE INDEX 'trip_cities'ON 'bookings'( 'trip_cities')
이 문제를 해결하는 방법을 모릅니다.
해결 방법
기본 데이터 정렬이 UTF8 문자 집합을 사용하는 것처럼 들립니다.
MySQL은 키 길이를 문자가 아닌 바이트로 제한합니다. MySQL이 사용하는 UTF8 구현은 문자 당 3 바이트를 허용하므로 UTF8 열에있는 키의 최대 길이는 문자로 된 키 길이의 3 배입니다 (명시 적으로 지정되지 않은 경우 키 길이는 필드의 전체 길이 임).
이 경우 최대 키 길이는 256 * 3
이며 768
입니다. 키 길이를 제한하거나 열의 데이터 정렬을 변경해야합니다.
참조 페이지 https://stackoverflow.com/questions/19940642
반응형
'MySql' 카테고리의 다른 글
MySQL 날짜 SQL에 2 주 추가 (0) | 2020.12.17 |
---|---|
MySQL 데이터베이스에서 ID로 PHP MySQL 디스플레이 데이터-자유 배치 (0) | 2020.12.17 |
MySQL SQL Oracle의 특정 열에 대해 replace with select 문 사용 (0) | 2020.12.17 |
MySQL mysql 뷰에서 동적 매개 변수를 전달하는 방법 (0) | 2020.12.17 |
MySQL laravel 4-> 열 이름 가져 오기 (0) | 2020.12.17 |
댓글