Como posso implementar commit / rollback para MySQL em PHP?
Bem, basicamente eu tenho esse script que leva muito tempo para executar e, ocasionalmente, expira e deixa dados semi-completos flutuando em meu banco de dados. (Sim, eu sei que em um mundo perfeito eu consertaria isso em vez de implementar confirmações e reversões, mas sou forçado a não fazer isso)
Aqui está o meu código básico (simplificado):
$database = new PDO("mysql:host=host;dbname=mysql_db","username","password");
while (notDone())
{
$add_row = $database->prepare("INSERT INTO table (columns) VALUES (?)");
$add_row->execute(array('values'));
//PROCESSING STUFF THAT TAKES A LONG TIME GOES HERE
}
$database = null;
Portanto, meu problema é que, se isso, se todo o processo dentro desse loop while não estiver completo, não quero que a linha inserida permaneça lá. Eu acho que de alguma forma eu poderia usar confirmações / reversões no início e no final do loop while para fazer isso, mas não sei como.