집 >데이터 베이스 >MySQL 튜토리얼 >키 열 길이 제한으로 인해 SQL 인덱스가 실패하는 이유는 무엇입니까?
SQL의 키 열 인덱스 길이 제한
오류 메시지 "'misc_info' 테이블의 'key' 열은 다음 유형입니다. 인덱스의 키 열로 사용하기에 유효하지 않습니다."는 키 열의 길이가 인덱스에 허용된 최대값을 초과했음을 나타냅니다. index.
인덱스 열의 최대 길이는 사용되는 데이터 유형에 따라 다릅니다. nvarchar 데이터 유형의 경우 최대 길이는 450자입니다. 이는 nvarchar 열의 고유 제약 조건이 행당 8000바이트를 초과할 수 없고 처음 900바이트만 사용되기 때문입니다.
이 문제를 해결하려면 키 열의 길이를 최대 450바이트로 줄이세요. 문자. 다음 수정된 SQL 문은 nvarchar(450)의 키 열이 있는 테이블을 생성합니다.
create table [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] nvarchar(450) UNIQUE NOT NULL, [value] nvarchar(max) NOT NULL );
가능한 경우 nvarchar 대신 varchar로 전환하는 것이 좋습니다. 이렇게 하면 최대 길이가 900자로 늘어날 수 있습니다.
위 내용은 키 열 길이 제한으로 인해 SQL 인덱스가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!