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

相关推荐
芒果要切3 分钟前
Redis 使用场景
数据库·redis·缓存
全栈工程师修炼指南23 分钟前
DBA | Oracle RMAN 实战:物理备份与数据恢复全解析
数据库·oracle·dba
现在,此刻29 分钟前
clickhouse和pgSql跨库查询方案对比
数据库·sql·clickhouse·性能优化
while(1){yan}35 分钟前
数据库的基本操作
数据库·oracle
翻斗花园牛图图-37 分钟前
MySQL——库的操作
数据库·mysql
大猫会长38 分钟前
supabase备份数据库中某个schema的方法
数据库·oracle
-指短琴长-41 分钟前
MySQL快速入门——内置函数
android·数据库·mysql
nvd112 小时前
指南:为何及如何使用Envoy作为跳板机代理Cloud SQL
sql
小码过河.3 小时前
告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
数据库·mysql
TDengine (老段)3 小时前
从“数据堆场”到“智能底座”:TDengine IDMP如何统一数据语言
大数据·数据库·物联网·时序数据库·tdengine