行大小太大。最大行大小(不包括BLOB)是65535字节。
你的MySQL表结构设计超出了行大小限制:
当前行大小已接近65,535字节的限制
MySQL行大小限制为65,535字节(不包括BLOB/TEXT类型):
使用多个 CHAR(255) 字段
每个CHAR字段占用255字节(即使内容为空)
20个CHAR(255)字段 = 5,100字节
改用 VARCHAR(255) 字段
VARCHAR只占用实际内容长度 + 1-2字节
空VARCHAR字段只占用1字节
使用 TEXT 类型存储大内容
TEXT字段只占用9-12字节的行空间
实际内容存储在单独区域
使用以下命令分析表结构:
CHAR字段:定义长度 × 字符集字节数
VARCHAR字段:实际长度 + 长度字节(1-2字节)
TEXT/BLOB:行内只存储指针(9-12字节)
NULL字段:额外占用1字节(每8个NULL字段)