ホームページ  >  記事  >  データベース  >  mysqlで1071エラーが発生した場合の対処法

mysqlで1071エラーが発生した場合の対処法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-24 14:57:085278ブラウズ

Mysql 1071 エラーの解決策: この問題は、キー値フィールドの長さが長すぎることが原因で発生します。MySQL では、データベース フォーム内の単一のキー値の最大長が 767 バイトを超えることはできません。長さが次のように変更されると、 255 では動作しません。または、utf-8 形式を使用しなくても問題ありません。

mysqlで1071エラーが発生した場合の対処法

mysql の 1071 エラーの解決策:

この問題は、キー値フィールドの長さが次のとおりであることが原因で発生します。長すぎる。 MySQL では、データベース フォーム内の 1 つのキー値の最大長が 767 バイトを超えることはできません。この長さを超えると、エラーが報告されます (タイトル名を参照)。通常、キー値フィールドはこの長さを超えることはありません。ただし、グローバリゼーションの加速に伴い、データベーステーブルにUTF-8形式が採用される傾向が顕著になってきており、これに伴いvarchar型フィールドの長さが2倍になり、上記の問題が発生しやすくなる可能性があることに注意してください。注意していない。

次のテーブル定義が存在すると仮定します。

        create table test (
                name varchar(256) not null primary key,
                age int unsigned not null
        ) engine = InnoDB;

このテーブルを UTF-8 形式で作成すると、タイトルに示す問題が発生します。主な理由は、UTF-8 では可変長エンコーディングが使用され、1 つのシンボルを表すのに最大 3 バイトを使用する可能性があるためです。したがって、上記の表の名前フィールドの場合、実際の長さは 767 バイトを超えて 768 バイトに達し、問題が発生します。長さを 255 (767/3) に変更しても問題ありません。また、utf-8 形式を使用しない場合も問題ありません。

関連する学習の推奨事項: mysql チュートリアル

以上がmysqlで1071エラーが発生した場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。