MySQL VARCHAR的最大大小是多少?

我想知道MySQL VARCHAR类型的最大大小是多少

我了解到最大大小受到行大小的限制,行大小约为65k。我试着将字段设置为varchar(20000),但它说这太大了

我可以将其设置为varchar(10000)。我能设定的最大值是多少

请记住MySQL有一个最大行大小限制

MySQL表的内部表示的最大行大小限制为65535字节,不包括BLOB和文本类型。BLOB和TEXT列只为行大小限制贡献9到12个字节,因为它们的内容与行的其余部分分开存储。了解有关表列计数和行大小限制的更多信息

在MySQL 5.0.3之前和之后,单个列可以占用的最大大小不同

VARCHAR列中的值是可变长度字符串。在MySQL 5.0.3之前,长度可以指定为0到255之间的值,在5.0.3及更高版本中,长度可以指定为0到65535。MySQL 5.0.3及更高版本中VARCHAR的有效最大长度取决于最大行大小(65535字节,在所有列中共享)和使用的字符集

但是,请注意,如果使用utf8或utf8mb4等多字节字符集,则限制较低

使用文本类型以克服行大小限制。

这四种文本类型是TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。它们对应于四种BLOB类型,具有相同的最大长度和存储要求

有关BLOB和文本类型的更多详细信息

  • 参考MySQLv8.0https://dev.mysql.com/doc/refman/8.0/en/blob.html
  • 参考MySQLv5.7https://dev.mysql.com/doc/refman/5.7/en/blob.html
  • 参考MySQLv5.6https://dev.mysql.com/doc/refman/5.6/en/blob.html

甚至更多

查看有关数据类型存储要求的更多详细信息,其中涉及所有数据类型的存储要求

发表评论