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 中国語 Web サイトの他の関連記事を参照してください。