検索

ホームページ  >  に質問  >  本文

MySQL がカラムのデータ型の長さを無視するのはなぜですか?

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粉798343415P粉798343415277日前412

全員に返信(1)返信します

  • P粉002546490

    P粉0025464902024-03-29 09:53:03

    ここから引用: リーリー

    したがって、URL には

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

    更新:

    この回答

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

    返事
    0
  • キャンセル返事