-
Se você usa innodb, então todas as instruções sql são executados em uma transação, você não precisa especificar isso explicitamente.
-
O controle de simultaneidade é feito por meio de bloqueios, não de transações. As transações só podem determinar a vida útil dos bloqueios.
-
A instrução de atualização coloca um bloqueio exclusivo nos registros que ele quer modificar , significando nenhuma outra instrução pode modificar (às vezes nem consegue ler) o registro bloqueado até que o bloqueio exclusivo seja liberado. Portanto, sua declaração está segura do ponto de vista da simultaneidade.