ホームページ > データベース > mysql チュートリアル > キー列の長さ制限により SQL インデックスが失敗するのはなぜですか?

キー列の長さ制限により SQL インデックスが失敗するのはなぜですか?

Susan Sarandon
リリース: 2024-12-22 05:32:14
オリジナル
1022 人が閲覧しました

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート