in reply to DBI and transactions on MySQL

I would say 'begin', 'commit' and 'rollback' were the correct and portable way to do things.

I like being able to specify where the trasaction boundaries go on inserts and deletes, that lets you use locks more efficiently and avoid running out of log space for rollbacks.

E.g. if you begin and commit after every 5000 transactions then you will only use 1 lock for that band of inserts which is much faster than 5000 separate begin and commits.

My 2p.