好吧,基本上我有这个脚本需要很长时间才能执行,并且偶尔会超时并在我的数据库中留下半完整的数据。(是的,我知道在一个完美的世界里我会解决这个问题而不是实现提交和回滚,但我被迫不这样做)
这是我的基本代码(为简单起见而简化):
$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;
所以我的问题是,如果那个while循环中的整个过程没有完成,那么我不希望插入的行保留在那里。我认为以某种方式我可以在 while 循环的开头和结尾使用提交/回滚来执行此操作,但不知道如何操作。