Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline
问题原因
-
One 16KB page of InnoDB data must hold at least two rows of data. Plus each page has a header and a footer containing page checksums and log sequence number and so on. That's where you get your limit of a bit less than 8KB per row.
-
Fixed-size data types like INTEGER, DATE, FLOAT, CHAR are stored on this primary data page and count toward the row size limit.
-
Variable-sized data types like VARCHAR, TEXT, BLOB are stored on overflow pages, so they don't count fully toward the row size limit. In Antelope, up to 768 bytes of such columns are stored on the primary data page in addition to being stored on the overflow page. Barracuda supports a dynamic row format, so it may store only a 20-byte pointer on the primary data page.
-
Variable-size data types are also prefixed with 1 or more bytes to encode the length. And InnoDB row format also has an array of field offsets. So there's an internal structure more or lessdocumented in their wiki. [EDIT] Dead link - here looks better now
因为数据库引擎类型为innodb ,表中字段类型 多个数据类型varchar(n)
create table p2p_loan_claim_detail
(
PROJECT_NO varchar(50) not null comment '项目编号',
BACKGROUND varchar(512) comment '企业背景',
OPER_STATE varchar(512) comment '经营状况',
RISK_MEASURE varchar(512) comment '风险控制措施',
GUARANTEE_OPINION varchar(512) comment '担保机构意见',
GUARANTEE_INFO varchar(512) comment '担保信息',
SAFEGUARD_PLAN varchar(512) comment '风险保障方案',
REMARK varchar(512) comment '备注',
CREATE_TIME datetime comment '创建时间',
UPDATE_TIME datetime comment '更新时间',
LITIGATION varchar(512) comment '涉诉信息',
SAFEGUARD_LEVEL varchar(20) comment '风控评级',
RENTER_INFO varchar(512) comment '承租人信息',
FINANCE_RENT_INFO varchar(512) comment '融资租赁物信息',
ORG_DESC varchar(2000) comment '机构简介',
CONTRACT_DESC varchar(100) comment '应收账款基础合同',
TRANS_CLAIM_AMOUNT decimal(12,2) comment '转让收益权的应收账款金额(元)',
CLAIM_DEADLINE date comment '转让收益权的应收账款到期日',
CHANNEL_OFFICE varchar(128) comment '渠道办事处'),
改为:
CREATE TABLE `p2p_loan_claim_detail_new` (
SHOW VARIABLES LIKE '%innodb_file%';
SET GLOBAL innodb_file_format=Barracuda; 这样就能插入数据了 |
相关推荐
MySQL中的“Row size too large 65535”错误是由于尝试创建或修改的数据表行的总大小超过了系统允许的最大限制。这个限制通常不包括BLOB和TEXT类型的字段,它们是外部存储的,但包括所有其他列的字节总和。MySQL标准...
在MySQL数据库操作中,"Row size too large"的错误通常发生在尝试创建或更新一行数据时,如果该行的数据超过了MySQL允许的最大行大小。这个错误在处理包含大字段,如TEXT或BLOB类型字段的记录时尤为常见。在给定的...
### MySQL 5.6 新特性-InnoDB:深入剖析 #### MySQL 5.6 版本简介及重要性 MySQL 5.6 是 MySQL 的一个重要版本,相比于之前的版本(如 MySQL 5.1 和 5.5),它在多个方面进行了显著的改进。这些改进不仅提升了...
### MySQL Innodb 索引原理详解 #### 1. 各种树形结构 在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。 ##### 1.1 搜索二叉树(Binary Search Tree) ...
这是我从网上找到的mysql/mariadb对innodb表进行数据恢复的工具,实现从innodb的数据库文件中恢复数据,用于实现下面情况:1、直接下载了innodb数据库的文件,而不是导出其数据,想恢复数据时(需要有完整的文件,...
mysql innodb类型数据库表 根据ibd文件获取表 space id,用于恢复innodb类型数据表数据
总结来说,MySQL InnoDB的`row_id`边界溢出问题是一个重要的概念,特别是在处理大量插入和删除操作的场景中。为了避免这种问题,我们应该始终在表中定义一个明确的、唯一的主键,避免依赖于InnoDB的隐式`row_id`。...
Mysql 高可用 InnoDB Cluster 多节点搭建过程 Mysql 高可用 InnoDB Cluster 多节点搭建过程是指使用 Mysql 的 InnoDB Cluster 功能来搭建一个高可用性的集群环境。在这个过程中,我们将使用四台服务器,node01、...
MySQL InnoDB Cluster是一种高可用性解决方案,用于在MySQL 8中构建分布式数据库系统。它基于InnoDB存储引擎,提供了一种自动化的故障切换和数据复制功能,确保即使在单个节点故障时,整个集群也能保持运行。以下是...
接着,MySQL 5.6文档详细说明了通过CREATE TABLE语句中ROW_FORMAT子句如何控制InnoDB的特定特性,包括表压缩、长变长列值的off-page存储,以及大索引key的前缀(innodb_large_prefix)。文档还提供了选择正确行格式...
### MySQL InnoDB 查询优化实现分析 #### 一、目的与背景 本文旨在深入探讨 MySQL + InnoDB 存储引擎在实现查询优化时所采取的方法及其内部机制。通过具体实例和详细的技术解析,揭示 InnoDB 如何高效处理各种查询...
### MySQL体系结构及原理(innodb)图文完美解析 #### 宏观认识 在深入探讨MySQL的体系结构及其核心组件InnoDB之前,我们先来理解几个基础概念。 1. **MySQL简介** MySQL是一种开源的关系型数据库管理系统(RDBMS)...
MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了。innodb表损坏不能通过repair table 等修复myisam的命令操作。
### MySQL Innodb 参数详解与优化实践 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其InnoDB存储引擎因其高可靠性和事务处理能力而备受青睐。为了充分发挥InnoDB的优势并针对特定场景进行性能...
### MySQL Innodb 引擎特性详解 #### 一、MySQL Innodb 引擎概述 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它提供了多种存储引擎以满足不同场景的需求。其中,InnoDB是最常用的一种存储引擎之一,...
### MySQL与InnoDB性能分析 #### MySQL架构概览 MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前由Oracle公司维护。MySQL的核心组成部分包括服务器端、存储引擎以及一系列支持服务。 - **服务器...