내 Mysql 5.7.13 데이터베이스 테이블의 varchar(500)
열에 고유 인덱스를 유지해야합니다.mysql 5.7.13 innodb unique column varchar (500)
charset이 UTF8로 설정되어 있으므로 innodb 엔진을 사용하고 있기 때문에 문자 한도는 255입니다. 크기가 최대 3072 바이트까지 확장되어야하는 옵션 innodb_large_prefix
이 있다는 것도 알고 있습니다. 이 기능을 지원하도록 db를 구성하려고했지만 작동하지 않습니다. 두 개의 똑같은 500 자 긴 행을 다른 문자와 함께 삽입하려고 시도했지만 고유 한 제약 조건 오류가 발생합니다. 따라서 처음 255 자에서 고유성 검사가 수행됩니다.
내가 누락 된 항목이 있습니까? 이 옵션의 목적을 오해 했습니까?
P.S innodb_file_format = Barracuda
을 mysql 문서에서 가리 키도록 설정했습니다.
도움 주셔서 감사합니다. Simone
테이블의 행 형식은 무엇입니까? 그것은 문서에서 동적 또는 압축 된 행 형식에만 해당되므로 그렇게 할 수도 있습니다. – rlanvin
@rlanvin 먼저 행 형식을 '동적'으로 변경하고 '압축'을 변경했지만 결과는 동일합니다. 고유 제한 조건은 처음 255 자에서 계산됩니다. –