Azu Posted October 26, 2007 Share Posted October 26, 2007 x_x I accidently put in "delete from table" instead of "select * from table" =/ Is there any way that I can recover my data from it? I don't have any backups of this table.. Edit: I think I found a log file "ib_logfile0" can I use this to recover? Quote Link to comment Share on other sites More sharing options...
Azu Posted October 26, 2007 Author Share Posted October 26, 2007 Hey I'm sorry but this is kind of urgent.. please can somebody help soon? Quote Link to comment Share on other sites More sharing options...
fenway Posted October 26, 2007 Share Posted October 26, 2007 You can't undelete from InnoDB... it's not that kind of log file. And you probably shouldn't be connecting with a user that has delete perms. Quote Link to comment Share on other sites More sharing options...
Azu Posted October 26, 2007 Author Share Posted October 26, 2007 well thankfully it's a MyIsam table not InnoDB! Please tell me how do I recover my data from it? I'll be very very happy ^^ And I was doing a lot of work on my database, I had to delete some stuff, and I meant to replace the delete with a select but I left it by mistake Quote Link to comment Share on other sites More sharing options...
fenway Posted October 26, 2007 Share Posted October 26, 2007 well thankfully it's a MyIsam table not InnoDB! Please tell me how do I recover my data from it? I'll be very very happy ^^ And I was doing a lot of work on my database, I had to delete some stuff, and I meant to replace the delete with a select but I left it by mistake That file you referred to is InnoDB... as for MyISAM, there isn't really proper undelete: No. This is not possible. When a record is deleted, the start of each of its parts ("blocks") is overwritten with linkage information. All deleted parts of all records make a link or chain. Hence the records cannot be restored in full. In theory one could write a utility that follows the delete link. It could extract all non-overwritten parts of the records. They will even be in correct order. But it would be impossible to automatically determine where each record ends. That information was located at the start of the first part of a record, where it is now overwritten. Also it would be difficult to guess where each column starts when the start of the record is missing. Regards Ingo Ingo Strüwing, Senior Software Developer - Storage Engines MySQL AB, www.mysql.com However, you might want to check this out if you happen to be lucky enough to only use fixed length columns. HTH. Quote Link to comment Share on other sites More sharing options...
Azu Posted October 26, 2007 Author Share Posted October 26, 2007 Oops... I used varchar x_x;; Thanks anyways... I guess I won't be getting it back lol.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.