1

私は mysql 5.0.91 を使用しており、URL を保存する必要があります (小さいものもあれば非常に長いものもあります)。使用したいのですvarchar(2000)が、エラーが発生します:

#1071 - 指定されたキーが長すぎます。キーの最大長は 1000 バイトです

mysql 5.0.91 を使用してホスティングしている URL を保存する最良の方法は何ですか?

4

4 に答える 4

5

unique=TrueURL列で使用しますか?MySQL はその列に一意のインデックスを構築しており、文字ごとに使用されるバイト数はエンコーディングによって異なります。

たとえば、UTF-16 の場合、1 文字あたり 2 バイトを使用するため、varchar(2000)列は 4000 バイトになり、エラー メッセージに示されているように、キーの最大長は 1000 バイトになります。

したがって、UTF-8 に切り替えて、varchar(900)代わりに使用してこの問題を解決できます。

于 2013-03-21T07:50:34.300 に答える
0

dbでutf-16照合を選択したため、そのエラーを実行しました-utf-8 general-ciに切り替えました-そして、それはなくなりました。

于 2013-03-04T15:20:16.207 に答える