MySQL Forums
Forum List  »  General

Row size too large (> 8126).
Posted by: ZhanMeng Lv
Date: May 19, 2016 07:49PM

I want to create a table which contains many text columns, but when I insert data to this table. It throws '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.'. I use command (show table status like 'XXX') to watch this table info. The row_format of this table is compact. As some content point out, I should set the row_format of this table to dynimic or compressed.
So I create this table by dynimic or compressed row_format. But I find if this table contains 200+ text columns, it will throw '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.' when I create this table; if this contains 180 text columns, it will done. And I can insert data to this table with out errors.
Although this method can help me, but I can't understand why it can only contains 180 text columns. I find som content which says in dynimic row_format text only uses 20 bytes, so I think it can contains 400 text columns.

Options: ReplyQuote


Subject
Written By
Posted
Row size too large (> 8126).
May 19, 2016 07:49PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.