首页 > 数据库 >MySQL:SQL 错误 [1118] [42000]: Row size too large.

MySQL:SQL 错误 [1118] [42000]: Row size too large.

时间:2023-12-14 14:14:34浏览次数:39  
标签:varchar BLOBs SQL 42000 large Length MySQL 65535

1.场景:

今天在用MySQL建表的时候,报了一个错误;

SQL 错误 [1118] [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 BLOBs

2.原因:

从字面的意思理解就是【所用表类型(不包括 BLOBs)的最大行大小为 65535,您必须将某些列更改为TEXT或 BLOBs】;

1.如果数据库编码为utf8mb4,表所有varchar字段总长度(Length):Length*4不能大于65535;

2.如果数据库编码为utf8,表所有varchar字段总长度(Length):Length*3不能大于65535;

3.解决方案:

将建表SQL中varchar长度比较大(比如超过2000)的字段,类型修改为TEXT,避免varchar总长度超过65535即可;

4.相似异常:

Specified key was too long; max key length is 3072 bytes

这种报错往往出现在MySQL创建联合索引的时候,MySQL的联合索引所有字段的长度不能超过3072,修改字段长度即可。

 

 

select COLUMN_NAME,COLUMN_TYPE from information_schema.columns where table_name ='t_advice_core' order by `ORDINAL_POSITION`
SHOW VARIABLES LIKE 'character_set%'

标签:varchar,BLOBs,SQL,42000,large,Length,MySQL,65535
From: https://www.cnblogs.com/jason-zhao/p/17901046.html

相关文章

  • MySQL运维4-Mycat入门
    一、mycat概述mycat是阿里巴巴企业下的开源的,基于JAVA语言编写的MySQL数据库中间件,可以像使用MySQL一样来使用Mycat,对于开发人员来说根本感觉不到mycat的存在。之前在国内使用数据库分库分表,读写分离最主流的就是使用mycat,但是截止到今日2023-12-13日,mycat的网站的下载链接......
  • mysql的备份方法详解
    MySQL数据库备份是确保数据安全的重要步骤。有多种备份方法可用,以下是几种常见的MySQL备份方法:1.使用mysqldump命令行工具:mysqldump是MySQL提供的备份工具,通过命令行使用。以下是基本的备份和恢复示例:备份整个数据库:mysqldump-uusername-pdatabase_name>backup.sql......
  • JavaWeb - day07 - MySQL - DQL、多表设计
    01.MySQL-DQL-基本查询介绍DQL英文全称是DataQueryLanguage(数据查询语言),用来查询数据库表中的记录。查询关键字:SELECT查询操作是所有SQL语句当中最为常见,也是最为重要的操作。在一个正常的业务系统中,查询操作的使用频次是要远高于增删改操作的。当我们打开某个网站或APP......
  • MySQL使用JSON存储数据
    1.优点1.不用为数据中的每个key值新建一个字段,可以任意的增减字段而无需修改数据表结构,甚至可以减少数据表的设计。2.可以减少数据表的查询,减少关联查询,一个查询的结果就可以代替几个查询的结果,降低数据库服务器的压力。2.缺点1、json数据仅仅只能用于展示display,如果用于条件......
  • 使用NineData,轻松完成阿里云RDS MySQL至ClickHouse数据迁移
    云数据库RDSMySQL和云数据库ClickHouse是阿里云推出的两个备受欢迎的数据库解决方案,它们为用户提供了可靠的数据存储方案、分析数仓方案,本文介绍如何快速将RDSMySQL的数据同步到云数据库ClickHouse。如何快速将RDSMySQL的数据同步到云数据库为什么要将RDSMySQL的......
  • mysql_repl - 轻便型的MySQL binlog replication tool
    mysql_repl-轻便型的MySQLbinlogreplicationtoolhttps://github.com/hcymysql/mysql_repl/使用场景:从MySQL8.0实时解析binlog并复制到MariaDB,适用于将MySQL8.0迁移至MariaDB不熟悉MySQL主从复制搭建的新手使用原理:把自己伪装成slave,从源master解析binlog并入库targetMySQL端......
  • MySQL左连接丢失null值的问题
    一、前言我们有的时候直接使用左连接查询,当右表不存在该数据的时候,是可以查出带有null的列。可是当在where条件中有右表相关的筛选条件时,我们惊奇的发现查询的结果不带null值了,换句话说就是查出来的结果比预期的少。二、错误复现以及解决方案1、右表不带筛选条件的查询sql相关......
  • 解决mysql的语句中group_concat长度限制问题
    在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了。其实MYSQL内部对这个是有设置的,默认不设置的长度是1024。查看默认配置showvariableslike"group_concat_max_len";模板返回是Variable_nameValuegroup_co......
  • 数据库选型:MySQL、PostgreSQL、MongoDB
    能够支撑实时业务的数据库,常见的数据库有:关系型数据库:MySQL、PostgreSQL,以及Oracle、DB2、MicrosoftSQLServer等非关系型数据库:MongoDB下面针对MySQL、PostgreSQL、MongoDB做对比分析。关于最受欢迎排行榜,该三类数据库处于前五位置,也是霸榜颇久。另外补充数据库市场份额如下......
  • excel_to_mysql过程(Excel数据转换到MySQL数据库当中)
    准备数据流图:在输入输出里面找到对应的类型:数据流图建好了接下来怎么将excel表格数据抽取到mysql当中去???####编辑excel输入:手机号改为数字类型,就没有.0了,主要是类型问题@@@@@@@@@@@@@@@@@@@@@@@建立mysqll连接,进行编辑表输出最后看一下原始数据:22个单元格,21条数据,和以上数据相符!!......