AWS RDSのMySQLを使ってます。
文字コードはutf8mb4を使用する予定だったのですが、
手違いですべての文字コードをutf8にしてしまい、
utf8mb4に訂正しようとしているところです。
データベースやテーブルの文字コードの変更は問題なくできたのですが、
一部のカラムの文字コードを変更しようとすると下記のエラーが出ます。
Error Code: 1118. Row size too large. The maximum row size for the used table type. not counting BLOBs, is 65535. This includes storage overhead. check the manual. You have to change some columns to TEXT or BLOBs
もともとutf8mb4にする予定だったので、
VARCHAR型のカラムの最大文字数は16383(65535÷4)に設定してありました。
上記のエラー文を読んで「オーバーヘッド」のせいで、この文字数ぴったりだと超過してしまうということはわかったのですが、
カラムによって設定できる文字数に違いがあるようなので、文字数をどう設定すべきかわからなくなりました。
(16377文字で設定できるカラムもあれば、16188文字じゃないと設定できないカラムもあります。)
カラムごとに、現在設定できる最大文字数ギリギリに設定していったら、今後なにか不都合があるのでしょうか?
あるとしたら、どのような不都合が予想されるのか、最大文字数は何文字に設定するべきなのかアドバイスをお願いします。
(制作物はチャットなので、できるだけ多い文字数を登録できるようにしようと思ってます。)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/16 01:37
2019/12/16 01:45
2019/12/16 02:10
2019/12/16 02:12
2019/12/16 02:15
2019/12/16 02:18
2019/12/16 02:26 編集
2019/12/16 02:30 編集
2019/12/16 02:33