MySQL 8.0 を使用しており、列に URL を保存しようとしています。 191 文字を超える URL を挿入しようとするたびに、次のエラーが発生します:
リーリー列のデータ型は VARCHAR(1000) で、URL は約 450 文字です。他の文字列と191文字未満のものを挿入しようとしましたが、191文字未満のものは正常に機能しますが、191文字を超えるものは何も挿入しません。
この列のデータ型を TEXT、LONGTEXT、BLOB などの他の文字列形式に変更してみました。また、他のテーブルに 191 文字を超える文字列を挿入しようとしましたが、やはり 191 文字に制限されました。
utf8mb4 によって VARCHAR(255) が発生し、実際には 191 になることはわかっていますが、VARCHAR(1000) でオーバーライドする必要はありませんか?この問題を引き起こす可能性のあるデータベースの設定はありますか?
P粉0025464902024-03-29 09:53:03
ここから引用: リーリー
したがって、URL にはTEXT 形式を使用することをお勧めします。
この回答
によると、問題は文字セットにあり、utf8である必要がある場合、utf8mb4
であり、同じ照合順序です。