ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.
时间: 2024-06-16 09:08:30 浏览: 203
这个错误通常是因为您正在尝试创建的表中包含太多的列,导致行的大小超出了MySQL所允许的最大行大小限制(65535字节)。如果表中包含多个BLOB或TEXT列,则该限制可能会进一步降低。解决此问题的方法是重新设计您的表结构,以减少每行中的列数或使用较小的数据类型。
同时,您也可以通过将表更改为InnoDB存储引擎来解决此问题。InnoDB支持动态行大小,并允许最大行大小超过限制。您可以通过以下命令将表更改为InnoDB存储引擎:
```
ALTER TABLE table_name ENGINE=InnoDB;
```
相关问题
ERROR 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
这个错误是由于表中的某些列的大小超过了 MySQL 数据库所允许的最大行大小限制(65535字节)。解决方法是将一些列的数据类型更改为 TEXT 或 BLOB。具体的更改方法可以参考 MySQL 的官方文档。
mysql数据库新增字段报错:1118-Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535
当在MySQL数据库中新增字段时,如果出现错误1118-Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535,这是由于MySQL要求一个行的定义长度不能超过65535而导致的。具体而言,这是因为MySQL在设计表时,每行数据的大小是有限制的,这个限制是由MySQL的存储引擎来决定的。在InnoDB存储引擎中,一个行的定义长度不能超过65535个字节,而这个长度不包括BLOB和TEXT类型的列。如果你在设计表时,新增的字段导致了行的定义长度超过了这个限制,就会出现上述错误。
解决这个问题的方法有以下几种:
1. 调整表结构,将一些不必要的列删除或者将一些较长的列改为BLOB或TEXT类型,从而减小行的定义长度。
2. 将表的存储引擎改为MyISAM,因为MyISAM存储引擎对行的定义长度没有限制,但是需要注意的是,MyISAM存储引擎不支持事务和行级锁定。
3. 将表的存储引擎改为InnoDB,并调整InnoDB的参数,例如将innodb_log_file_size和innodb_log_buffer_size等参数调大,从而增加InnoDB存储引擎的性能和容量。
阅读全文