SQL错误:42000

错误:

Row size too large .The maximum row size for the used table type , not counting BLOBs, is 65535 .This includes storage overhead ,check the manual .You have to change some columns to TEXT or BLOB

原因:创建表的时候,字段超长了

例如

CREATE TABLE `t_error35` ( `id` varchar(255) NOT NULL COMMENT '主键', `class_name` varchar(65278) NOT NULL COMMENT '错误码对应类名' ) ENGINE=InnoDB CHARSET=ascii ROW_FORMAT=COMPACT;

65535是最大的值,255+ 1(变长长度)+ 65278 (大于255)+ 2(变长长度) = 65536

解决:将class_name 设置为 BLOB或者TEXT

解决思路 来源于 MySQL 一行记录是怎么存储的? | 小林coding

相关推荐
冻咸鱼17 分钟前
MySQL的CRUD
数据库·mysql·oracle
Funny Valentine-js17 分钟前
团队作业——概要设计和数据库设计
数据库
CodeJourney.24 分钟前
SQL提数与数据分析指南
数据库·信息可视化·数据分析
whn197738 分钟前
oracle数据库seg$的type#含义
数据库·oracle
冻咸鱼2 小时前
MySQL中表操作
android·sql·mysql·oracle
心态特好2 小时前
从缓存到分库分表:MySQL 高并发海量数据解决方案全解析
数据库·mysql·缓存
TDengine (老段)2 小时前
TDengine 数据函数 LEAST 用户手册
大数据·数据库·sql·时序数据库·tdengine
骇客野人2 小时前
【软考备考】 NoSQL数据库有哪些,键值型、文档型、列族型、图数据库的特点与适用场景
数据库·nosql
BD_Marathon2 小时前
【MySQL】管理
数据库·mysql
倔强的石头_2 小时前
金仓多模数据库平替 MongoDB:电子证照国产化的技术实操与价值突破
数据库