MySQL row size error -
i can not understand issue. have table under innodb minimum row size, , started getting error when last field in row being filled. last field being 1280 (varchar) field, attempting place 879 characters of data within it. returns:
#1118 - row size large (> 8126). changing columns text or blob or using row_format=dynamic or row_format=compressed may help. in current row format, blob prefix of 768 bytes stored inline.
ok read , figured had overhead in row, split in two. did taking large section out of front end form talking table, , storing in separate table altogether. modified php handle 2 tables instead of one. made no difference - same error trying fill out same last field same 879 characters in severely shrunken table.
so try making table row_format=dynamic
- still same result. try row_format=compressed
- , yes, still same problem. driving me nuts.
what left do? missing?
as requested, here table structure:
drop table if exists `app_aigprreq`; /*!40101 set @saved_cs_client = @@character_set_client */; /*!40101 set character_set_client = utf8 */; create table `app_aigprreq` ( `appid` int(11) not null auto_increment, `uid` int(11) not null, `uaid` int(11) not null, `status` varchar(32) not null default 'data acquisition', `agref` varchar(32) default null, `groupname` varchar(64) default null, `shorttitle` varchar(64) default null, `recipient` varchar(64) default null, `partofvalch` varchar(64) default null, `sector` varchar(64) default null, `subsector` varchar(64) default null, `topic` varchar(64) default null, `apfunreqagmardt` decimal(12,2) default null, `apfunreqgroup` decimal(12,2) default null, `othergroupname1` varchar(64) default null, `apfunreqother1` decimal(12,2) default null, `othergroupname2` varchar(64) default null, `apfunreqother2` decimal(12,2) default null, `othergroupname3` varchar(64) default null, `apfunreqother3` decimal(12,2) default null, `totalfunding` decimal(12,2) default null, `researchcosts` decimal(12,2) default null, `othercostsname1` varchar(64) default null, `othercosts1` decimal(12,2) default null, `othercostsname2` varchar(64) default null, `othercosts2` decimal(12,2) default null, `othercostsname3` varchar(64) default null, `othercosts3` decimal(12,2) default null, `totalcosts` decimal(12,2) default null, `groupauthagent` varchar(64) default null, `groupauthagentaddress` varchar(128) default null, `groupauthagentphone` varchar(22) default null, `groupauthagentemail` varchar(64) default null, `groupprojleader` varchar(64) default null, `groupprojleaderaddress` varchar(128) default null, `groupprojleaderphone` varchar(22) default null, `groupprojleaderemail` varchar(64) default null, `othergroupmembers` varchar(1280) default null, `structure` varchar(1280) default null, `memgovboard` varchar(1280) default null, `projectgoal` varchar(2560) default null, `ecobenval` varchar(2560) default null, `ecoeval` varchar(2560) default null, `projectplan` varchar(5120) default null, `milestone01` varchar(1024) default null, `dateexp01` varchar(11) default null, `payment01` varchar(11) default null, `milestone02` varchar(1024) default null, `dateexp02` varchar(11) default null, `payment02` varchar(11) default null, `milestone03` varchar(1024) default null, `dateexp03` varchar(11) default null, `payment03` varchar(11) default null, `milestone04` varchar(1024) default null, `dateexp04` varchar(11) default null, `payment04` varchar(11) default null, `milestone05` varchar(1024) default null, `milestone05` varchar(1024) default null, `dateexp05` varchar(11) default null, `payment05` varchar(11) default null, `milestone06` varchar(1024) default null, `dateexp06` varchar(11) default null, `payment06` varchar(11) default null, `milestone07` varchar(1024) default null, `dateexp07` varchar(11) default null, `payment07` varchar(11) default null, `milestone08` varchar(1024) default null, `dateexp08` varchar(11) default null, `payment08` varchar(11) default null, `milestone09` varchar(1024) default null, `dateexp09` varchar(11) default null, `payment09` varchar(11) default null, `milestone10` varchar(1024) default null, `dateexp10` varchar(11) default null, `payment10` varchar(11) default null, `exresname` varchar(64) default null, `exresposition` varchar(64) default null, `exresorg` varchar(64) default null, `exresaddress` varchar(128) default null, `exresphone` varchar(22) default null, `exresemail` varchar(64) default null, `exresdata` varchar(2560) default null, `indref1` varchar(64) default null, `indrefemail1` varchar(64) default null, `indrefphone1` varchar(22) default null, `indref2` varchar(64) default null, `indrefemail2` varchar(64) default null, `indrefphone2` varchar(22) default null, `charref1` varchar(64) default null, `charrefemail1` varchar(64) default null, `charrefphone1` varchar(22) default null, `charref2` varchar(64) default null, `charrefemail2` varchar(64) default null, `charrefphone2` varchar(22) default null, `noncashcontribs` varchar(1280) default null, `othgovtypfun` varchar(1280) default null, `ethicinsbio` enum('yes','no') default null, `nameofcommit` varchar(64) default null, `nameofchair` varchar(64) default null, `commitaddress` varchar(128) default null, `webpubcontactperson` varchar(64) default null, `webpubcontactaddress` varchar(128) default null, `webpubcontactphone` varchar(22) default null, `webpubcontactemail` varchar(64) default null, `webpubsummary` varchar(1280) default null, `agr1` enum('yes','no') not null default 'no', `datestarted` int(11) not null, `lastmodified` int(11) not null, `flulct` int(3) not null default '0', primary key (`appid`,`uid`,`uaid`) ) engine=innodb auto_increment=27 default charset=latin1;
here trying do:
update `agmapps`.`app_aigprreq` set `webpubsummary` = 'co-innovation collaborative process between companies , r&d knowledge organisations proving powerful accelerant of innovation. foodhq, partnership between new zealand''s leading food innovators , enabling local government bodies, proving powerful force providing innovative solutions companies moving further value chain. agmardt supporting creation of national cohort of 30-50 of these innovative companies collaborate foodhq around key export growth activities including product , process development, cost efficiency, meeting client preferences, shelf-life , food safety, , business model innovation. members of cohort benefit collaborating each other, , part of programme, foodhq convening events , provide interaction platform provide such opportunities.' `app_aigprreq`.`appid` = 13 , `app_aigprreq`.`uid` = 54 , `app_aigprreq`.`uaid` = 71
update: i'm temporarily changing particular table myisam opposed innodb. seems allow work, want switch innodb every other table in database, , have functioning.
zedfoxus suggestion (see comments) indeed best solution. problem entirely eliminated splitting each forms data storage sections - conveniently done per-form section basis. each section of form stored inside it's own table , has reduced db table structures vastly more efficient , tidy format. irritating overhead limitation no longer hit, when maximum input quota per form question reached.
thanks answered , offered help. many useful leads , ideas posted here!
Comments
Post a Comment