beginTransaction/commit/rollBack; при ошибке откатывайте; следите за автокоммитом драйвера.
Разбор
- Вложенность зависит от СУБД/savepoints.
- Долгие транзакции держат блокировки.
- Идемпотентность операций.
- Не глотайте исключения до rollback.
Итог
Транзакции PDO дают атомарность набора SQL.