
Originariamente inviata da
razzoli
Se stai usando MyISAM, non esistono le transazioni.
Se stai usando InnoDB (che è il default a partire da MySQL 5.5) il trigger avviene dentro la stessa transazione dell'istruzione che lo attiva. Cioè la transazione comincia prima della INSERT e finisce dopo il trigger. Il transaction level deve essere SERIALIZABLE.
Questo è sufficiente a garantire l'isolamento. Non usare LOCK TABLES, che distrugge tutti i benefici delle transazioni - e infatti per default InnoDB lo ignora.