最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql的VACHAR的最大长度到底是多少_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:04:42
文档

mysql的VACHAR的最大长度到底是多少_MySQL

mysql的VACHAR的最大长度到底是多少_MySQL:bitsCN.com 今天群里有人问: varchar 不是最大应该只可以设置65532(第一个字节+两个长度字节)吗 ,但是为什么可以设置成65533 以前一直都认为有两个字节来记录长度(长度小也可以用一个字节记录),所以这个问题当时觉得就挺无聊的 不过后来群里有人
推荐度:
导读mysql的VACHAR的最大长度到底是多少_MySQL:bitsCN.com 今天群里有人问: varchar 不是最大应该只可以设置65532(第一个字节+两个长度字节)吗 ,但是为什么可以设置成65533 以前一直都认为有两个字节来记录长度(长度小也可以用一个字节记录),所以这个问题当时觉得就挺无聊的 不过后来群里有人


以前一直都认为有两个字节来记录长度(长度小也可以用一个字节记录),所以这个问题当时觉得就挺无聊的

不过后来群里有人给了解释,突然才发现原来事情不是这么简单

MYSQL COMPACT格式,每条记录有一个字节来表示NULL字段分布,如果表中有字段允许为空,则最大只能定到65532,如果没有字段允许为空,则那个字节可以节省,最大可以定义到65533,不知道是不是这个原因

于是上网看了些资料,又在本地做了些实验,原来vachar的最大长度真的是不定的(根据是否有非空字段来决定)

在本地做了下实验,innodb+latin的环境

1 -- success 2 drop table if exists test; 3 create table test(name varchar(65533) not null)engine=innodb DEFAULT CHARSET=latin1 4 5 -- too large 6 drop table if exists test; 7 create table test(name varchar(65533))engine=innodb DEFAULT CHARSET=latin1

对于第二种情况,允许空字段的时候是不能加到65533的长度的,最大只能到65532,到底应该是引文的那种说法。

网上也有人做了类似的实验,参考http://stackoverflow.com/questions/8295131/best-practise-for-sql-varchar-column-length

1 name varchar(100) not null will be 1 byte (length) + up to 100 chars (latin1) 2 3 name varchar(500) not null will be 2 bytes (length) + up to 500 chars (latin1) 4 5 name varchar(65533) not null will be 2 bytes (length) + up to 65533 chars (latin1) 6 7 name varchar(65532) will be 2 bytes (length) + up to 65532 chars (latin1) + 1 null byte

总结一下,原来mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532,。

bitsCN.com

文档

mysql的VACHAR的最大长度到底是多少_MySQL

mysql的VACHAR的最大长度到底是多少_MySQL:bitsCN.com 今天群里有人问: varchar 不是最大应该只可以设置65532(第一个字节+两个长度字节)吗 ,但是为什么可以设置成65533 以前一直都认为有两个字节来记录长度(长度小也可以用一个字节记录),所以这个问题当时觉得就挺无聊的 不过后来群里有人
推荐度:
标签: 记录 是多少 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top