0

I have an extension (extbase) with many rte-editor fields (12). If I put some content in all editor field and click save, following error is shown:

2: SQL error: '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.' (tx_mwxx_domain_model_grundriss:2)

How can I solve this problem - innodb_log_file_size and innodb_log_buffer_size are big enough. Thanks for help!

andreas
  • 16,357
  • 12
  • 72
  • 76
matin
  • 303
  • 2
  • 13
  • 3
    I think the error message is pretty clear. You want to change some data types from `varchar()` (presumably) to `TEXT` or `BLOB` so each record fits in the available storage. – Gordon Linoff Sep 18 '16 at 13:24
  • @GordonLinoff Can you make that an answer please? :-) – Jost Sep 18 '16 at 13:29
  • Hm ... I am not shure ... table has textgrundriss text NOT NULL and data is text. hier some more error message from bug-tracker: lastBuiltQuery => 'UPDATE tx_mwxx_domain_model_grundriss SET textgrundriss= '

    xxxx

    \r\n

    N utzfläche:....,tstamp='1474206019',t3ver_stage='0' WHERE u id=2' (1044 chars)

    – matin Sep 18 '16 at 13:43
  • Possible duplicate of [Change limit for "Mysql Row size too large"](http://stackoverflow.com/questions/15585602/change-limit-for-mysql-row-size-too-large) – Jozef Spisiak Sep 18 '16 at 15:51

2 Answers2

0

My provider solved problem by changing tables to Barracuda File Format. He also sent me following link with more informations: https://www.percona.com/blog/2011/04/07/innodb-row-size-limitation/

matin
  • 303
  • 2
  • 13
0

Another solution is more simple. just add ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC when creating table:

CREATE TABLE tablename ( id int(11) NOT NULL AUTO_INCREMENT, .. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC

or if table exists:

ALTER TABLE tablename ROW_FORMAT=DYNAMIC;

BUT phpmyadmin can not do this (alter ...) - so I used a simple php script to alter the table.

matin
  • 303
  • 2
  • 13