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.

questionAnswers(4)

yourAnswerToTheQuestion