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 最大大小是多少?的詳細內容,更多請關注www.92cms.cn其它相關文章!