今天看到一个问题,就是数据库中的字段长度是指字节呢还是字符呢?
有点纠结,就去试了一下。
首先创建了一张表:
CREATE TABLE t2(
name char(10)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
随后往里面插入十个英文字母和是个中文来测试一下。
首先插入是个英文字母:
INSERT into t2(name) VALUES('abcdefghij');
再插入十个中文:
INSERT into t2(name) VALUES('这只是一个测试数据啊');
发现都可以记录成功,那么由此我们也可以得知,数据库里面的字段长度是指的字符长度。
PS:我们上面建表的时候指定表的编码为utf-8,在utf-8中一个中文等于三个字节的长度,一个英文字母等于一个字节的长度。