(注:如下针对mysql 5.0以上版本)mysql
mysql varchar(n) n表示字符个数,不是字节数。sql
对于utf8编码,不管是字符、数字、汉字均占3字节。除3是由于utf8编码限制。编码
例:1.验证varchar(n)表示汉字spa
CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
例:2. n表示字符,那么varchar(n)中n的最大值应该为: code
n = (65535-1-2-4)/3=21842.67 = 21843
减1和减2与上例相同;
减4的缘由是int类型的id占4个字节;
blog
编码是utf8。class