ホームページ >データベース >mysql チュートリアル >MySQL が BLOB または TEXT カラムで「キー長のないキー指定」エラーをスローするのはなぜですか?
MySQL の「キー長のないキー仕様」エラーのトラブルシューティング
このエラーは通常、キーの長さを指定せずに主キーまたはインデックス定義で BLOB または TEXT 列が使用されている場合に発生します。
問題を理解する
MySQL のインデックス作成メカニズムには、BLOB 列と TEXT 列が可変長であるため、制限があります。 データベースは長さが定義されていないと一意性を保証できないため、エラーが発生します。 キーの一意性を適切に検証するには、固定長が必要です。
ソリューション
いくつかのアプローチでこれを解決できます:
VARCHAR(n)
に変更します。ここで、「n」は特定の文字制限を表します (例: VARCHAR(255)
)。これにより、インデックス作成に適した、最大長が定義された可変長データが提供されます。重要な考慮事項
VARCHAR
の長さは 256 文字未満にしてください。 この制限を超えると、列が自動的に SMALLTEXT
に変換され、キーの長さの問題が再び発生する可能性があります。以上がMySQL が BLOB または TEXT カラムで「キー長のないキー指定」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。