MySQL バージョン 5.0.3 より前のバージョンでは 255 文字を保存できましたが、バージョン 5.0.3 以降では 65,535 文字を保存できるようになりました。
MySQL 公式ドキュメントには次のように記載されています:
MySQL 5.0.3 以降における VARCHAR の有効な最大長は、最大行サイズ (すべての列で共有される 65,535 バイト) と、使用される文字セット。たとえば、utf8 文字は 1 文字あたり最大 3 バイトを必要とするため、utf8 文字セットを使用する VARCHAR 列は最大 21,844 文字を持つように宣言できます。
最大行サイズ制限は 65,535 バイトであることに注意してください。これは、すべての列を含めた合計サイズが 65,535 バイトを超えてはいけないことを意味します。
この制限に違反した場合に何が起こるかを見てみましょう:
これは 2 つの列を持つテーブルです。「1」は長さ 32,765 の varchar で、「two」は長さ 32,766 の varchar です。 。
長さ = 32765 2 32766 2 = 65535。
CREATE TABLE IF NOT EXISTS `mytable` ( `one` varchar(32765) NOT NULL, `two` varchar(32766) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
次に、列の長さを増やしてみましょう -
CREATE TABLE IF NOT EXISTS `mytable` ( `one` varchar(32767) NOT NULL, `two` varchar(32770) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
上記では次のエラーが発生します -
#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
上記自体が示していること -
The maximum row size is 65,535 bytes. If it exceeds, an error will be visible.
以上がMySQL VARCHAR の最大サイズはどれくらいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。