Innodb, TRUNCATE
public function setContentRaw($val) {
foreach ($val['article'] as $val2) {
$row = array(
'source_id' => $val['id'],
'url' => $val2['url'],
'title' => $val2['title'],
'date' => date('Y-m-d'),
);
$id = $this->connect->query("INSERT INTO `" . DATABASE . "`.`" . TB_CONTENT_RAW . "` SET ?a", $row);
echo $id . '<br />'; // Вернет ID-ы вставленных записей
}
}
Создаем БД, создаем таблицу. Запускаем скрипт. Отрабатывает нормально (т.е. пишет в базу). Очищаем таблицу, - в phpmyadmin тыкаем галку на корзину (что вызывает оператор truncate table). снова прогоняем скрипт - в таблицу не пишет. Если очистить таблицу через "выделить все строки - нажать крестик" - т.е. очистить построково. Снова запустить скрипт - пишет. т.е. все работает.
Т.е. после операции truncate table скрипт в чистую таблицу не пишет нихера данные. Если самому руками создать строчку, потом ее удалить, потом прогнать опять скрипт - то все в поряде. Если очистить таблицу выделяя все строки и удаляя, - то скрипт работает. Что за целка непробиваемая после truncate?
телепатия это хорошо, но я бы, как минимум, попробовал посмотреть в логи базы и в show full processlist;