mysql varchar最长可定义的字符数

char(M)M最多255

varchar(M)M最多65516

mysql> alter table yy modify b varchar(65516);
Query OK, 1 row affected (0.17 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> alter table yy modify b varchar(65517);
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

在utf8编码下最多65516/3=21838个汉字

2012年6月11日 14:27:31 另外:虽然varchar()存储在硬盘上时是按实际占用的字节数+1来存储的,但内存处理时是按定义的字段大小来占用内存的,因此设计时按找需要设定合适的字段大小

你可能感兴趣的:(varchar)