2011-07-14 9 views
0

すべてのテーブルのcharset latin1をutf8に変換する際に問題があります。最大テーブルは変換されますが、一部のテーブルにはそのことが示されていますテーブルのlatin1をutf8に変換する際の問題

ERROR 1071(42000):指定されたキーが長すぎます。キーの最大長は255です バイト

私のテーブルでは、私は3つの要素を持つ主キーを使用しています。要素の長さはそれぞれ128,64,128です。誰でもこれを解決できますか?高度なありがとう。

私はこのテーブルを別のデータベースからフェデレーションしました。ベーステーブルエンジンはMYISAMです。

答えて

0

MySQLには、UTF8文字には、3バイトまでかかります。

したがって、PKの最大長は(128 + 64 + 128) * 3 = 960バイトで、エンジンで許可されている255バイトを超えることがあります。

ところで、どのストレージエンジンを使用していますか? InnoDBは、767バイトを許容し、MyISAMは、1000バイトを許可します。

関連する問題