Ciao a tutti.
Non riesco a trovare una risposta esauriente a questo mio dubbio.
In php, una volta che setto l'autocommit a false, che differenza c'è tra eseguire un rollback oppure non eseguire il commit?
Ad esempio ammettiamo che se si verifica un errore io devo evitare che le modifiche vengano scritte sul db.
Che differenza c'è tra questi due codici:
codice:
$mysqli->autocommit(FALSE);
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
if($mysqli->error=='')
{
//altre operazioni varie
$mysqli->commit();
}
else
{
header('location:error.php')
}
codice:
$mysqli->autocommit(FALSE);
$mysqli->query("INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
if($mysqli->error=='')
{
//altre operazioni varie
$mysqli->commit();
}
else
{
$mysqli->rollback();
header('location:error.php')
}
A mio giudizio nessuna.
Se con l'autocommit a false il commit avviene solo quando lo invoco, non serve che faccio il rollback nel caso in cui non voglio che avvengano le modifiche. Mi basta non invocare il commit no? :master: