私は mysql 5.0.91 を使用しており、URL を保存する必要があります (小さいものもあれば非常に長いものもあります)。使用したいのですvarchar(2000)
が、エラーが発生します:
#1071 - 指定されたキーが長すぎます。キーの最大長は 1000 バイトです
mysql 5.0.91 を使用してホスティングしている URL を保存する最良の方法は何ですか?
私は mysql 5.0.91 を使用しており、URL を保存する必要があります (小さいものもあれば非常に長いものもあります)。使用したいのですvarchar(2000)
が、エラーが発生します:
#1071 - 指定されたキーが長すぎます。キーの最大長は 1000 バイトです
mysql 5.0.91 を使用してホスティングしている URL を保存する最良の方法は何ですか?
unique=True
URL列で使用しますか?MySQL はその列に一意のインデックスを構築しており、文字ごとに使用されるバイト数はエンコーディングによって異なります。
たとえば、UTF-16 の場合、1 文字あたり 2 バイトを使用するため、varchar(2000)
列は 4000 バイトになり、エラー メッセージに示されているように、キーの最大長は 1000 バイトになります。
したがって、UTF-8 に切り替えて、varchar(900)
代わりに使用してこの問題を解決できます。
dbでutf-16照合を選択したため、そのエラーを実行しました-utf-8 general-ciに切り替えました-そして、それはなくなりました。