我有一个带有许多rte-editor字段的扩展(extbase)(12)。如果我在所有编辑器字段中放入一些内容并单击“保存”,则会显示以下错误:
2:SQL错误:'行大小太大(> 8126)。将某些列更改为 TEXT或BLOB或使用ROW_FORMAT = DYNAMIC或ROW_FORMAT = COMPRESSED可以 救命。在当前行格式中,存储768字节的BLOB前缀 排队。' (tx_mwxx_domain_model_grundriss:2)
如何解决此问题 - innodb_log_file_size
和innodb_log_buffer_size
足够大。谢谢你的帮助!
答案 0 :(得分:0)
我的提供商通过将表更改为Barracuda文件格式解决了问题。他还通过链接发送了更多信息:https://www.percona.com/blog/2011/04/07/innodb-row-size-limitation/
答案 1 :(得分:0)
另一种解决方案更简单。在创建表时添加ENGINE = InnoDB DEFAULT CHARSET = utf8 ROW_FORMAT = DYNAMIC:
CREATE TABLE tablename
(
id
int(11)NOT NULL AUTO_INCREMENT,
..
)ENGINE = InnoDB DEFAULT CHARSET = utf8 ROW_FORMAT = DYNAMIC
或表格是否存在:
ALTER TABLE tablename
ROW_FORMAT = DYNAMIC;
但是phpmyadmin不能这样做(改变...) - 所以我用一个简单的php脚本来改变表格。