Salve a tutti,
come da oggetto non ho ben capito il Rollback.

Riepilogando : una transazione permette di eseguire più istruzioni come un unica istruzione, alla stregua dei blocchi nei linguaggi di programmazione, al fine di salvaguardare la consistenza dei dati.
Le transazioni iniziano con un istruzione di START TRANSACTION e terminano con un istruzione COMMIT. Nel mezzo è possibile inserire un istruzione ROLLBACK al fine di annullare le operazioni in caso di errore, impostando volendo un SAVEPOINT.
Fin qui penso sia giusto. Le mie domande sono:
1) Se non metto nessun ROLLBACK, in caso di errori, il COMMIT esegue ugualmente la transazione? Se no...che senso ha il ROLLBACK?
2) Il ROLLBACK è obbligatorio?
3) Il ROLLBACK va posto con una clausola condizionale (del tipo IF avviene_questo ROLLBACK) oppure MySQL rileva automaticamente l'errore?

Mi rendo conto che sono domande ingenue ma vi ringrazierei per eventuali risposte.
Matteo