一、问题
当我们新建表单时,总会有VARCHAR(X)这样的字段类型,之前学习中了解到,这里的X代表的是字符数目,即有多少个字符,而不是字节或其他单位的标识。
例如VARCHAR(10),代表的是这个字段最多存储十个字符:
一二三四五六七八九十
abcdefghij
你好12345678
无论中文、英文(不同字符集使用的字节数不同)都没有关系,就是10个字符。
那么VARCHAR(10),存储十个字符,会根据所选择的不同字符集而产生不同的影响吗?
二、实验
gbk编码,VARCHAR(10)
utf8编码,VARCHAR(10)
结论是:没有影响,在MySQL8.0.25及其以上的版本中,VARCHAR(X),就是代表这一字段有X个字符