相同点
INSERT into tab(v,c) VALUES('abcd','abcd');
数据库查看
结论
对于插入值的长度范围,会做长度约束,不能大于他们的本身的长度要求,会做截取的。
不同点
INSERT into tab(v,c) VALUES('eer','eer');
数据库查看
这里很多人,开始有误解了,认为char不是当插入值长度不足时会进行空格填充吗,怎么现在是没填充呢,
这里我重点解释一下:char类型在查询的时候,会忽略后面的填充空格
结论
char(M)varchar(M)这里的M是指他们初始化的时候所占表空间的大小。char是不管你的插入值占多少空间。我都给你占固定的大小,而varchar是依具体插入值占的大小来定。千万不要以为M是用来限定插入值的字符长度的。