Ну, в основном у меня есть этот скрипт, который занимает много времени, чтобы выполнять, а иногда и время, и оставляет полуполные данные, плавающие вокруг моей базы данных. (Да, я знаю, что в идеальном мире я бы исправить, что вместо реализации фиксаций и откатов, но я вынужден не делать)Как я могу реализовать commit/rollback для MySQL в PHP?
Вот мой основной код (упрощенным вниз для простоты):
$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 не будет завершен, я не хочу, чтобы вставленная строка оставалась там. Я думаю, что каким-то образом я мог использовать commits/rollbacks в начале и конце цикла while, но не знаю, как это сделать.
Спасибо, я не пробовал еще, но я думаю, что это именно то, что я ищу – 2008-11-30 23:54:27