Quando hai una transazione, il rollback è il comando che ti consente di ripristinare lo stato precedente del database (precedente rispetto all'inizio della transazione).[supersaibal]Originariamente inviato da mircov
Ho appena cominciato ad adattare la classe a mysql e php<5.
Prima difficoltà:
ROLLBACK cos'è? A che serve?Codice PHP:
function __queryRollBackable( &$q ) {
@mysql_query( $q );
if( (int)mysql_error( ) > 0 ) {
mysql_query( $this->__db, 'ROLLBACK' );
}
Come vedi ho già "tradotto" qualche cosa però mi sono fermato su quel "ROLLBACK": che devo fare? Se la query non restituisce errori la rieseguo? é stata già eseguita! [/supersaibal]
In parole povere, la sequenza di query compresa tra un begin ed un commit viene eseguita in maniera atomica, come se fosse un'unica query. Se una delle query a metà strada fallisce, con rollback puoi tornare indietro "ignorando" la query precedenti andate a buon fine, tornando quindi ad uno stato sicuro.