テーブルに一意のインデックスを作成するときに、「列 '[キー]'」というエラーが発生する場合があります。テーブル '[テーブル]' は、インデックスのキー列として使用するには無効なタイプです。」このエラーは通常、インデックスに指定された列のデータ型が大きすぎる場合に発生します。
このエラーの一般的な原因は、インデックス キーの最大長が超過していることです。許容限界。 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 中国語 Web サイトの他の関連記事を参照してください。