MySQL VARCHAR的最大长度是多少?

MySQL VARCHAR的最大长度是多少?

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个字节。

让我们看看如果违规会发生什么−

这里有一张表,有两个列,一个是长度为32,765的varchar,另一个是长度为32766的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

以上说明−

最大行大小为65,535个字节。如果超过这个限制,会出现错误。

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程