I'm trying to figure out if there's a way of getting around an SQL error. I'm trying to add a column to an existing table and I'm getting this error:
ERROR 1030 (HY000): Got error 139 from storage engine
All the reading I've done suggests that this happens when your row length exceeds 8000 bytes. I've also seen a number of posts that suggest that blobs contribute to row length, but only the prefix amount (less than 1K).
Here's my existing table:
id bigint(20) auto_increment
size bigint(20)
content longblog
The contents of this table are often very big. There's 20,000 rows, often with blobs in the megabyte range.
I'm trying to add a new column of varchar(64) to the table. What I'm seeing is that the alter request chugs away for about an hour and a half, and then craps out with the Error 139.
Am I misinterpreting the 8000 byte limit? Is the error actually being caused by something else, like resource limits?
I'm running an older MySQL -- 5.0 -- on Windows XP.
Any help would be greatly appreciated.
BC
ERROR 1030 (HY000): Got error 139 from storage engine
All the reading I've done suggests that this happens when your row length exceeds 8000 bytes. I've also seen a number of posts that suggest that blobs contribute to row length, but only the prefix amount (less than 1K).
Here's my existing table:
id bigint(20) auto_increment
size bigint(20)
content longblog
The contents of this table are often very big. There's 20,000 rows, often with blobs in the megabyte range.
I'm trying to add a new column of varchar(64) to the table. What I'm seeing is that the alter request chugs away for about an hour and a half, and then craps out with the Error 139.
Am I misinterpreting the 8000 byte limit? Is the error actually being caused by something else, like resource limits?
I'm running an older MySQL -- 5.0 -- on Windows XP.
Any help would be greatly appreciated.
BC