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

相关推荐
小学鸡!2 分钟前
DBeaver连接InfluxDB数据库
数据库
running up11 分钟前
MyBatis 核心知识点与实战
数据库·oracle·mybatis
薛不痒16 分钟前
MySQL中使用SQL语言
数据库·sql·mysql
五阿哥永琪31 分钟前
SQL中的函数--开窗函数
大数据·数据库·sql
为什么不问问神奇的海螺呢丶43 分钟前
Oracle 数据库对象导出脚本-含创建语句
数据库·oracle
码农阿豪1 小时前
告别兼容焦虑:电科金仓 KES 如何把 Oracle 的 PL/SQL 和 JSON 业务“接住”
数据库·sql·oracle·json·金仓数据库
曹牧1 小时前
Oracle SQL 中,& 字符
数据库·sql·oracle
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [fs]dcache
linux·数据库·笔记·学习·ubuntu
xrl20121 小时前
ruoyi-vue2集成flowable6.7.2后端篇
数据库·ruoyi·flowable·工作流集成
java1234_小锋2 小时前
Redis到底支不支持事务啊?
java·数据库·redis