[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поведение PDO при вставке
optimist228
Добрый день.
Получаю много данных из одной субд, и есть задача вставить это все в некоторыми правками в mysql
Вставка происходит так
$mysql = new PDO($mysql_dbh, $username, $password, $options);

$mysql->beginTransaction();

$sql = "insert into table set $cond"; // cond это field = :field

$query = $mysql->prepare($sql);

foreach($result as $data) { // result - данные с другой субд
// обработка значений (кодировка, преобразование id, ничего интересного в общем)


try {
$query->execute($data);
} catch(PDOException $e) {
$mysql->rollBack();
die('rollBack '.$e->getMessage());
}
}


//
$mysql->commit();
//
}


Я сделал что бы показывало % вставки
$per = round(($c++ / $count) * 100);

Мне показало 73% и все.

Не все данные загрузились почему-то.

Попробовал на малых кол-вах, получаю 1000 записей, в mysql пришло 997, если 300 то получаю 299 :)
Короче каждые 300 итераций примерно пропадает 1 запись :)
В чем прикол? Какие-то ограничения?

Не знаю влияет или нет, но в начале скрипта стоит
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 0);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.