标签:空格 大小 强制转换 gbk tab ati font bytes sof
一、varchar和char的区别:
区别一:定长和变长
char表示定长、长度固定,varchanr表示变长,即长度可变。
区别二:存储容量不同
二、 在Mysql中用来判断是否需要进行对据列类型转换的规则
三、 Mysql中varchar的最大长度为多少?(这不是一个固定的数字)
1. 限制规则
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Latin1 一个字符占一个字节,最多能存放 65532 个字符
GBK 一个字符占两个字节, 最多能存 32766 个字符
UTF8 一个字符占三个字节, 最多能存 21844 个字符
注意,char 和 varchar 后面的长度表示的是字符的个数,而不是字节数。
2. 计算例子
create table t4(c int, c2 char(30), c3 varchar(N)) charset=utf8;则此处的最大值为(65535-1-2-4-30*3)/3=21812
create table t4(c int, c2 char(30), c3 varchar(21812)) ENGINE=InnoDB DEFAULT CHARSET=utf8
标签:空格 大小 强制转换 gbk tab ati font bytes sof
原文地址:https://www.cnblogs.com/yuandongshisan/p/11194035.html