> 데이터 베이스 > MySQL 튜토리얼 > '잘못된 키 열 유형'으로 인해 고유 인덱스가 실패하는 이유는 무엇입니까?

'잘못된 키 열 유형'으로 인해 고유 인덱스가 실패하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-27 02:25:13
원래의
252명이 탐색했습니다.

Why is my Unique Index Failing with

데이터베이스 오류 해결: 인덱스에 대한 잘못된 키 열 유형

테이블에 고유 인덱스를 생성할 때 "열 '[키]'' 오류가 발생할 수 있습니다. '[table]' 테이블은 인덱스의 키 열로 사용할 수 없는 유형입니다." 이 오류는 일반적으로 인덱스에 지정된 열의 데이터 유형이 너무 큰 경우에 발생합니다.

문제 해결

이 오류의 일반적인 원인은 최대 길이를 초과하는 인덱스 키입니다. 허용 한도. Microsoft SQL Server에서 인덱스 키의 최대 길이는 900바이트입니다.

이 문제를 해결하려면 키 열의 최대 길이를 줄이는 것이 좋습니다. 귀하의 경우 키 열은 무제한 길이를 허용하는 nvarchar(max)로 정의됩니다. 인덱스 키의 경우 인덱스 키의 길이가 допустимые пределы 이내인지 확인하는 nvarchar(450)와 같은 제한된 데이터 유형을 사용하는 것이 좋습니다.

다음은 키 열이 450으로 제한된 업데이트된 테이블 정의입니다. 문자:

CREATE TABLE [misc_info] (
    [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, 
    [key] NVARCHAR(450) UNIQUE NOT NULL, 
    [value] NVARCHAR(MAX) NOT NULL
);
로그인 후 복사

이 조정을 통해 키 열이 인덱스 키의 크기 요구 사항을 충족하여 오류가 해결되었습니다.

위 내용은 '잘못된 키 열 유형'으로 인해 고유 인덱스가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿