关于varchar(m) 的m到底限制的是什么问题
相信很多人都百度查询了很多,但是很多答案:有的说是字符,有的说是字节,也有的说在mysql4以下是字节长度。
这里我们测试一下,先不说结论,下面使用的mysql是5版本:
这里创建一个msg字段,设置varchar(10)。
然后考虑编码问题,utf8中文是占3个字符,gbk是两个字符。然后我们输入五个汉子 ,然后点击保存。
你你你你你
点击保存并没有报错,可以说明varchar(m),限制的是文本的长度,而不是什么字符字节长度。
当我们输入11个你的时候
很明显结论出来了。varchar(m) 5版本以上,是限制文本长度的。并不是限制大小。