MySQL5.0.3之前varchar(n)这里的n表示字节数

MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个

  • varchar最大长度可以是多少

根据字符集,字符类型若为gbk,每个字符占用2个字节,最大长度不能超过65535/2 =32766; 字符类型若为utf8,每个字符最多占用3个字节,最大长度不能超过 65535/3 =21845,若超过这个限制,则会自动将varchar类型转为mediumtext或longtext,例如

mysql> create table test12(id int(10),context varchar(79000));
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> show create table test12;
+--------+--------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                       |
+--------+--------------------------------------------------------------------------------------------------------------------+
| test12 | CREATE TABLE `test12` (
  `id` int(10) DEFAULT NULL,
  `context` mediumtext
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------+--------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)


版权声明:本文为qq_29232943原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_29232943/article/details/103198430