首先,mysql 中varchar(n) 里的n,在mysql 5.0之后表示的就是字符的个数,而不是字节数
然后,mysql中的数据行最大长度为65535字节, 行存储从第二个字节开始,所以65535-1,
有两个字节用来记录数据长度,所以剩余可用的长度为65535-1 - 2,
再然后计算时还要减去其他字段占用的字符数,(如 int占用4个字节,则从上面的值里再减去4,)
mysql中utf8编码格式的数据库,每个字符占3个字节,(GBK占2个),
所以最多存储utf8字符的个数等于 (65535-1-2-其他字段字节数)/3
参考:
https://www.cnblogs.com/lbf1994/articles/5677453.html
mysql VARCHAR最多能存储多少个utf8字符
最新推荐文章于 2024-05-24 14:36:54 发布