varchar型を使用する場合、テーブル内の合計文字数に注意!

varchar型は65535文字格納できます。全角半角問わず65535文字です。

ただし、注意が必要。

この文字数は同じテーブルのvarcharでの合計文字数となります。

以下のエラーが発生します。

このエラー、正確に言うと、「テーブル内のすべてのカラムを結合したサイズが65535行のサイズ表現がある」ということです。

InnoDB では内部的に 65,535 バイトを超える行サイズがサポートされていますが、MySQL 自体では、すべてのカラムを結合したサイズに 65,535 行のサイズ制限が課されています。

参考情報:https://dev.mysql.com/doc/refman/5.6/ja/innodb-restrictions.html

すべてのテーブル (ストレージエンジンには無関係) の最大行サイズは 65,535 バイトです。ストレージエンジンではこの制限に対してさらなる制約を加えられる場合があり、有効な最大行サイズは少なくなります。

参考情報:https://dev.mysql.com/doc/refman/5.6/ja/column-count-limit.html

どのように回避するか。

エラーメッセージにも書かれていますが、text型かBLOB型を使用すれば回避可能です。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする