MySQLでTransactionを使う
MySQLでは、AUTOCOMMITの設定により、Transactionの挙動が異なる。
InnoDBを利用してTransactionを利用するためには、
START TRANSACTION;
または
SET AUTOCOMMIT=0;
上記のどちらかを先に実行し、更新系クエリを実行したあと、
COMMIT(またはROLLBACK)
を実行することでTransactionを利用することができます。
違い
AUTOCOMMITが有効の場合はSTART TRANSACTIONを実行しないと
MyISAMなどと同じように即時COMMITされてしまいます。
また、START TRANSACTIONは、COMMIT/ROLLBACKを実行するまでの間有効になるため、
その後の更新クエリはすべて自動コミットとなります。
AUTOCOMMITが無効の場合は、COMMIT/ROLLBACKまたは、
暗黙的なコミットが走るクエリ以外は1つのトランザクション内のように振る舞います。
http://dev.mysql.com/doc/refman/5.1/ja/innodb-implicit-commit.html
コミット漏れや意図しないコミットをさけるという目的であれば
AUTOCOMMIT有効にし、Transactionを使用したい時にだけ
START TRANSACTIONを使用すればいいかと思います。