Oi, Joathan! Tudo certo por aí?
Existem sim algumas maneiras de reverter ações que foram aplicadas a todos os registros de uma tabela, como um UPDATE
. No entanto, tais formas precisam ser pensadas previamente — caso contrário, infelizmente não conseguiremos recuperar os dados.
A primeira opção é realizar constantemente backups do nosso banco de dados. Assim, quando um incidente ocorrer, basta voltarmos a uma de suas versões anteriores.
Além disso, existe uma segunda opção, que é trabalhar com transações, as quais têm como objetivo controlar as operações feitas em nosso banco de dados, sempre presando pela segurança e pela integridade.
Uma transação é composta pelos seguintes itens:
START TRANSACTION
, comando que afirma o início de uma transação;- Sequência de operações que desejamos executar (como um
UPDATE
, INSERT
ou DELETE
, por exemplo); COMMIT
(comando que confirma as operações feitas) ou ROLLBACK
(comando que reverte as operações feitas).
Para uma melhor compreensão, observe o script SQL abaixo:
START TRANSACTION;
UPDATE produtos SET EMBALAGEM = 'PET', TAMANHO = '1 Litro', DESCRITOR = 'Sabor da Montanha - 1 Litro - Uva';
ROLLBACK;
Mesmo com o UPDATE
, conseguimos desviar do "problemão" de atualizar todos os registros da tabela com o ROLLBACK
, que reverteu toda a situação. Caso fosse utilizado o COMMIT
, todos os itens da tabela produtos
seriam realmente alterados.
Contudo, vale ressaltar que nada é mais importante do que uma atenção redobrada em atividades que podem impactar todo o nosso banco de dados!
Joathan, espero que tenha ficado mais claro! Caso surjam outras dúvidas após minha explicação ou durante os seus estudos, fico à disposição para ajudar.
Um forte abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!