On further thought, why do we need a transaction here? Isn't it only a single operation?