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

相关推荐
@我漫长的孤独流浪5 分钟前
SQL触发器实战:银行系统数据完整性控制
数据库·oracle
清平乐的技术专栏13 分钟前
【FlinkSQL笔记】(一)什么是Flink SQL
笔记·sql·flink
半夜修仙19 分钟前
Redis中Set数据类型的常见命令
java·数据库·redis·笔记·学习
oradh25 分钟前
Oracle逻辑存储结构概述
数据库·oracle·逻辑存储结构·oracle逻辑存储结构概述
廿一夏30 分钟前
MySql视图触发器函数存储过程
数据库·sql·oracle
hikktn32 分钟前
Oracle 行锁 ORA-00054 高效重试机制实战:MERGE 批量更新 + FOR UPDATE NOWAIT 完整方案
数据库·oracle
￰meteor33 分钟前
【数据库导学】
数据库
zxrhhm34 分钟前
Oracle检查点Checkpoint深度解析
数据库·oracle
rising start35 分钟前
三、深入理解MySQL索引底层
数据库·mysql
weixin_4261507042 分钟前
AI辅助Oracle容量规划:告别拍脑袋扩容
运维·数据库·人工智能·oracle