無効なインデックス キー列: エラーの理解と解決
エラー メッセージ「テーブル 'misc_info' の列 'key' は、 「インデックスのキー列として使用するには無効な型です」は、インデックスでキーとして使用されている列のデータ型に問題があることを示します。 索引。簡単に検索すると、インデックスの長さの制限が 450 文字であることがわかりますが、これだけではエラーの解決策にはなりません。
この場合、エラーはデータ型が「key」という名前の列に関係しています。 nvarchar(最大)。これを解決するには、キー列のデータ型をインデックス キーの有効な型に変更する必要があります。インデックス キーの一意の制約には、行あたり 8000 バイトの最大サイズ制限があり、最初の 900 バイトのみが使用されます。したがって、最大限の互換性を確保し、潜在的なエラーを回避するには、キー列のデータ型は最大 450 文字を許可する必要があります。
次の改訂された SQL ステートメントは、キー列のデータ型を変更することでエラーを解決します。 to 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(450) を使用すると、問題が発生することなく一意のインデックスを作成できます。 「キー列の型が無効です」エラー。可能であれば、nvarchar の代わりに varchar を使用すると、キー列の長さを 900 文字に増やすことができる可能性があることに注意してください。
以上がデータベースで「無効なインデックス キー列」エラーがスローされるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。