MySQL版本5.0.3之前能夠儲存255個字符,但從版本5.0.3開始,能夠儲存65,535個字符。
MySQL官方文件指出:
MySQL 5.0.3及更高版本中VARCHAR的有效最大長度取決於最大行大小(65,535字節,這是所有列共享的)和所使用的字符集。例如,utf8字元可能每個字元需要最多三個位元組,因此使用utf8字元集的VARCHAR欄位可以聲明最大為21,844個字元。
請記住,最大行大小的限制是65,535位元組。這意味著包括所有列在內,總大小不應超過65,535位元組。
讓我們看看如果違反這個限制會發生什麼:
這是一個包含兩列的表,「one」是長度為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中文網其他相關文章!