# Transactions - How the DBI helps

- ## Tools of the trade:

  - Set AutoCommit off, and RaiseError on
  - Wrap eval { … } around the code
  - Use $dbh->commit; and $dbh->rollback;

- ## Disable AutoCommit via $dbh->{AutoCommit} = 0;

  - to enable transactions and thus rollback-on-error

- ## Enable RaiseError via $dbh->{RaiseError} = 1;

  - to automatically 'throw an exception' after an error

- ## Add surrounding eval { … }

  - catches the exception, the error text is stored in $@

- ## Test $@ and $dbh->rollback() if set

  - note that a failed statement doesn’t automatically trigger a transaction rollback

Previous slide | Next slide | Back to first slide | View graphic version