0

我对 Mysql 数据库有奇怪的问题。我正在使用 MySql InnoDb 存储引擎,并且我知道行大小的问题: https ://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html

这是我的表的创建查询:

CREATE TABLE IF NOT EXISTS `account` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `description` text COLLATE utf8_unicode_ci,
  `testtextarea0` text COLLATE utf8_unicode_ci,
  `testtextarea1` text COLLATE utf8_unicode_ci,
  `testtextarea2` text COLLATE utf8_unicode_ci,
  `testtextarea3` text COLLATE utf8_unicode_ci,
  `testtextarea4` text COLLATE utf8_unicode_ci,
  `testtextarea5` text COLLATE utf8_unicode_ci,
  `testtextarea6` text COLLATE utf8_unicode_ci,
  `testtextarea7` text COLLATE utf8_unicode_ci,
  `testtextarea8` text COLLATE utf8_unicode_ci,
  `testtextarea9` text COLLATE utf8_unicode_ci,
  `testtextarea10` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我在每个文本字段中插入 1024 个字符的文本,这工作正常,直到“testtextarea9”或“testtextarea10”字段。所以,我只能在一行中插入超过 10000 个字符,所以你能帮我理解问题以及如何解决它。

根据 MySql 规范 text 和 blob 字段不应计入此限制,或者我可能误解了什么?

这是我从 Mysql 得到的错误:“1030 - Got error 139 from storage engine”。

谢谢!!!

4

1 回答 1

1

似乎有一部分文本存储在一行中,并且达到了行限制大小。

看看这个页面 - Bug #25945

作为一种解决方法 - 尝试将这些数据拆分到一些表中。

于 2012-09-07T07:21:21.220 回答