Reputation: 805
I have weird issue with Mysql database. I am using MySql InnoDb storage engine, and I am aware of problem with row size: https://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html
Here is creation query for my table:
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;
And I am inserting text with 1024 characters in each on text fields, and this work fine, until "testtextarea9" or "testtextarea10" fields. So, I am able to insert only a bit over 10000 characters into one row, so can you help me to understand problem and how to fix it.
According to MySql specification text and blob fields shouldn't be counted against this limit, or maybe I misunderstand something?
Here is the error I get from Mysql: "1030 - Got error 139 from storage engine ".
Thanks!!!
Upvotes: 0
Views: 1649
Reputation: 121902
It seems that a part of text is stored in a row, and it reaches row limit size.
Have a look at this page - Bug #25945.
As a workaround - try to split these data to some tables.
Upvotes: 1