Is there any way to rollback after commit in MySQL?

Johnny Lim picture Johnny Lim · Dec 24, 2012 · Viewed 43.2k times · Source

I did a big mistake that I updated a table without 'where' clause in MySQL :'(

It is auto-committed.

Is there any way to rollback from it?

Answer

Bohemian picture Bohemian · Dec 24, 2012

No, there's no query that will "undo" a committed data-modifying query.

If you have a backup of the database, you can restore the backup and use DBA tools (in MySQL's case, it's mysqlbinlog) to "replay" all data-modifying queries from the logs since the backup back to the database, but skip over the problem query.

If you don't have a backup and all logs since the that backup, there's nothing you can do to recover the data.