Mysql字段类型长度-VARCHAR

作者:小虾米 发表时间:2019-11-08 16:47:41 类别:MySql

VARCHAR类型长度

跟字符集有关(gbk-2B,urf8-3B,utf8mb4-4B)

跟当前表所有varchar列总长度有关

例:当前表结构如下

CREATE TABLE `test` (
  `id` int(11) NOT NULL,
  `age` tinyint(5) NOT NULL DEFAULT '0',
  `sex` char(2) NOT NULL DEFAULT '',
  `des` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

如果需要再加一个varchar类型的字段,最大长度计算方式为:

减1:实际行存储从第2个字节开始

减2:varchar头部的2个字节表示长度

减4:int类型占4个字节

减1:tinyint类型占1个字节​

减2*4和减255*4:char和varchar类型一个字符占4个字节(utf8mb4)

所以,新的字段长度最大为16124

沪ICP备17012897号-1 | Copyright ©2024