Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso implementar commit/rollback para MySQL em PHP?


Dê uma olhada este tutorial nas transações com DOP.

Basicamente, envolva o código de longa execução em:
$dbh->beginTransaction();
...
$dbh->commit();

E de acordo com esta página do documento PDO :

"Quando o script termina ou quando uma conexão está prestes a ser fechada, se você tiver uma transação pendente, o PDO a reverterá automaticamente."

Assim, você perderá a transação que estava pendente quando o script expirou.

Mas, na verdade, você deve redesenhar isso para que não dependa do script permanecer vivo.