MySQL がカラムのデータ型の長さを無視するのはなぜですか?
P粉798343415
P粉798343415 2024-03-28 11:13:09
0
1
372

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粉798343415
P粉798343415

全員に返信(1)
P粉002546490

ここから引用: リーリー

したがって、URL には

TEXT 形式を使用することをお勧めします。

更新:

この回答

によると、問題は文字セットにあり、utf8である必要がある場合、utf8mb4であり、同じ照合順序です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート