MySQL中TEXT数据类型的最⼤长度___MySQLVARCHAR字段最⼤长度究竟是
多少
MySQL TEXT数据类型的最⼤长度
TINYTEXT256 bytes
TEXT65,535 bytes~64kb MEDIUMTEXT16,777,215 bytes~16MB
LONGTEXT4,294,967,295 bytes~4GB
MySQL中VARCHAR字段最⼤长度究竟是多少
varchar(n),n表⽰什么?
MySQL5.0.3之前varchar(n)这⾥的n表⽰字节数
MySQL5.0.3之后varchar(n)这⾥的n表⽰字符数,⽐如varchar(200),不管是英⽂还是中⽂都可以存放200个
n最⼤可以是多少
MySQL⾏长度
MySQL要求⼀个⾏定义长度不能超过65535个字节,不包括text、blob等⼤字段类型,varchar长度受此长度限制,和其他⾮⼤字段加起来不能超过65535个字节.
超过以上限制则会报错:
drop table if EXISTS test1111;
create table test1111(
id char(255)null,
content varchar(21830)null
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
[Err] 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
varchar(n)占⽤⼏个字节
varchar(n)占⽤⼏个字节跟字符集有关系:
字符类型若为gbk,每个字符占⽤2个字节
字符类型若为utf8,每个字符最多占⽤3个字节
varchar2最大长度varchar最⼤长度可以是多少
根据字符集,字符类型若为gbk,每个字符占⽤2个字节,最⼤长度不能超过32766,字符类型若为utf8,每个字符最多占⽤3个字节,最⼤长度不能超过21845,若超过这个限制,则会⾃动将varchar类型转为mediumtext或longtext,例如:
drop table if EXISTS test1111;
create table test1111(
id char(255)null,
content varchar(63000)null
);
desc test1111;
结果:
CREATE TABLE`test1111`(
`id`char(255)DEFAULT NULL,
`content`mediumtext
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论