MySQL VARCHAR 最大大小是多少?

5.0.3 之前的 MySQL 版本能够存储 255 个字符,但从 5.0.3 版本开始,它能够存储 65,535 个字符。

MySQL 官方文档说明 -

MySQL 5.0.3 及更高版本中 VARCHAR 的有效最大长度受最大行大小(65,535 字节,在所有列之间共享)和使用的字符集的约束。例如,utf8 字符可能需要每个字符最多三个字节,因此可以将使用 utf8 字符集的 VARCHAR 列声明为最多 21,844 个字符。 

请记住,最大行大小的限制是 65,535bytes.This表示包括所有列它不应超过 65,535 字节。

让我们看看如果违反会发生什么 -

这是一个包含两列的表,“one”varchar 的长度为 32,765,“two”的长度为 32766。

长度 = 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 最大大小是多少? 的全部内容, 来源链接: utcz.com/z/317466.html

回到顶部