>데이터 베이스 >MySQL 튜토리얼 >키 열 길이 제한으로 인해 SQL 인덱스가 실패하는 이유는 무엇입니까?

키 열 길이 제한으로 인해 SQL 인덱스가 실패하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 05:32:14951검색

Why is my SQL Index Failing Due to Key Column Length Limitations?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.