I always leave Autocommit on. Then in the part of my script that
requires transactional processing, I manually issue something like
$dbh->do("BEGIN TRANSACTION") then when I've executed all the SQL
statements I need to be done together I use $dbh->do("COMMIT"). But I
suppose I should be switching autocommit on and off when I need it, and
then using $dbh->commit. I think the problem I ran into with that is
the DBD driver didn't think the database supported transactions. So I
had to do the transaction stuff manually.