Você precisará restaurar a partir do backup anterior. Você pode usar apenas ROLLBACK
durante uma transação, ou seja, se começar com BEGIN;
, poderá fazer alterações e, em seguida, confirmá-las com COMMIT;
ao desfazer com ROLLBACK;
. Não há outro histórico de desfazer do que isso.
Não deve haver necessidade de backups a cada segundo, mas se houver um risco de que isso aconteça novamente, considere o uso de sqldumps mais frequentes - ou não permitir que os desenvolvedores brinquem com o banco de dados de produção.
Se você tivesse o log binário ativado, você poderia refazer , em vez de desfazer, todas as modificações feitas após o backup. Como o log binário armazena apenas consultas, não os dados, isso deve ser feito a partir do backup, e não do estado atual. Se o erro aconteceu na semana passada, isso pode não ser uma opção agora, mas é bom, pelo menos, para o futuro.
O erro sendo update xxx set yyy=zzz;
você recebeu apenas uma coluna com dados falsos. Dependendo da coluna e da quantidade de outras tabelas que dependem desses dados, você pode impedir a restauração de todo o banco de dados para um estado anterior a partir do último backup. Se você tiver sorte, poderá extrair apenas essa tabela específica do dump e modificar as INSERT
consultas para UPDATE
consultas para a única coluna.