MySQL Forums
Forum List  »  MyISAM

Undelete Rows
Posted by: Brian Connell
Date: January 22, 2007 07:36AM


I accidently deleted a lot of rows from a table. No other inserts were done since this happened. Is it possible to recover the data - unfortunately, there is no backup.

From running myisamchk, I can see the following information:

E:\>myisamchk -e t_hourly_fact.MYI
Checking MyISAM file: t_hourly_fact.MYI
Data records: 11433897 Deleted blocks: 8007841
myisamchk: warning: Table is marked as crashed and last repair failed
- check file-size
- check record delete-chain
myisamchk: warning: Found 0 deleted space in delete link chain. Should be 712697
myisamchk: error: Found 0 deleted rows in delete link chain. Should be 8007841
myisamchk: error: record delete-link-chain corrupted
- check key delete-chain
- check index reference
- check data record references index: 1
myisamchk: error: Key 1 doesn't point at all records
- check records and index references
MyISAM-table 't_hourly_fact.MYI' is corrupted
Fix it using switch "-r" or "-o"

So to me, it looks like the records are still in the data table, but have been marked as deleted and exist in the delete link chain. Is there a mechanism to recover these records, perhaps to export and import, ???? I would like to recover all of the records, so even a mechanism to unmark all of the records, if this is possible, would be great.

Thank you.

Options: ReplyQuote

Written By
Undelete Rows
January 22, 2007 07:36AM
January 24, 2007 04:38AM
February 01, 2007 04:21AM
February 09, 2007 03:39PM
August 25, 2007 05:28AM

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.