8126)"的报错,我们可以通过调整参数或改变表结构的方式来解决这个问题。在上述示例中,由于address列的类型为TEXT,导致每个行的大小超过了MySQL的默认限制。如果调整参数的方法不能解决问题,我们可以尝试改变表的结构,减少每个行的大小。这样,通过调整参数,我们就可以增加每个行的大小限制,从而解决导入数据时出现的报错问题。通过改变表的结构,我们可以减少每个行的大小,从而解决导入数据时出现的报错问题。_row siz">
当前位置:   article > 正文

mysql数据导入报错:Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT_row size too large (> 8126). changing some columns

row size too large (> 8126). changing some columns to text or blob or using

报错信息:

ERROR 1118 (42000) at line 8280: 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. 

错误原因:

MySQL数据库对于每个行的大小有一个默认的限制,这个限制是由以下几个因素决定的:

表的最大行大小 (innodb_page_size 参数)。
行的最大大小 (innodb_large_prefix 参数)。
列的数量。
列的类型和长度。
当一个行的大小超过了MySQL的默认限制时,就会导致报错:“Row size too large (> 8126)”。这个错误通常发生在使用InnoDB存储引擎的情况下,因为InnoDB存储引擎对于每个行的大小有更严格的限制。

解决方法:

要解决这个问题,我们可以采取以下几种方法:

方法一:调整参数

我们可以通过修改MySQL的参数来增加每个行的大小限制。具体步骤如下:

linux系统打开MySQL的配置文件 my.cnf。

找到 innodb_file_format 参数,并将其设置为 Barracuda。
找到 innodb_file_per_table 参数,并将其设置为 ON。
找到 innodb_large_prefix 参数,并将其设置为 ON。
找到 inn

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/991022
推荐阅读
相关标签
  

闽ICP备14008679号