Transações: BEGIN, COMMIT e ROLLBACK

Uma transação agrupa alterações. COMMIT as mantém; ROLLBACK as desfaz.

Sintaxe

BEGIN; … COMMIT;
BEGIN; … ROLLBACK;
  • Sem BEGIN, cada instrução é confirmada por conta própria.

Exemplo

BEGIN; DELETE FROM order_items WHERE order_id = 12; ROLLBACK;

A exclusão é desfeita, então a tabela fica inalterada depois.

Tabelas usadas: order_items. Experimente em uma lição abaixo.

Erros comuns

  • Uma transação deixada aberta, sem COMMIT ou ROLLBACK, mantém seus bloqueios. Sempre a finalize.

Pratique