Search code examples
mysqlsql-updaterollbackautocommit

Is there any way to rollback after commit in MySQL?


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?


Solution

  • 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.