【问题描述】
1. 创建表包含两个 varchar(8192) 字段,建表失败:
create table t1 ( c1 varchar (8192), c2 varchar (8192) ) charset = utf8;
Err 1118 - 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
【解决办法】
1. utf8 字符编码长度为 4 个字节长。创建表包含两个 varchar(8192),总长度为 8192 * 2 * 4 = 65536, 整行的字段长度超出了 mysql varchar 类型的范围,因此执行失败。
2. 建议按照报错信息给出的提示,将部分字段改成 text 或者 blob 类型