Самостоятельное восстановление удаленных строк в БД

Silentland

Новичок
На сервер аяксом посылается команда создания новой записи. При получении ответа с id-шником созданной записи сразу же посылается команда на удаление этой записи. Назад возвращается список оставшихся записей (для проверки):
PHP:
// Удаляем
mysql_query("delete from `table` where `id` = '" . intval($id) . "'");
 
//Проверяем           
$res = mysql_query("select `id` from `table`" );
$test = array();
while ($row = mysql_fetch_assoc($res)) {
    $test[] = $row['id'];
}
file_put_contents('log.txt', 'удаляем '.$id.', остается '.implode (', ', $test).' ('.mysql_affected_rows().')'.PHP_EOL, FILE_APPEND);
Команды на добавление (и последующее удаление) поступают практически одновременно. В итоге получаем такой ответ:
PHP:
удаляем 2507, остается 2508, 2509 (2)
удаляем 2508, остается 2509 (1)
удаляем 2509, остается (0)
иногда так
PHP:
удаляем 2498, остается 2499, 2500 (2)
удаляем 2499, остается 2500 (1)
удаляем 2500, остается 2499, 2500 (2)
Вроде все верно, но если посмотреть в БД, окажется, что записи 2508, 2509 восстановились! Т.е. фактически всегда удаляется только одна запись. Движок базы MyISAM. Что может быть? Глюк mySQL?

Пробовал вставлять в JS функции добавления/удаления рандомные синхронные задержки (забивают на время работу скрипта). Не помогает. Так же пробовал ставить mysqli_commit($link); и до и после функции удаления. Так же безрезультатно.
 

Фанат

oncle terrible
Команда форума
никакого "самостоятельного восстановления строк" не бывает
 

Silentland

Новичок
Значит мне врут мои глаза, когда в лог записывается удаление всего, что было создано, а при следующем просмотре базы, оказывается, что почти ничего не удалилось
 

С.

Продвинутый новичок
Ты можешь в свой лог записывать что угодно, но это не значит, что оно на самом деле так и есть.
Если ты послал запрос на удаление, а запись все равно там, то твой запрос не выполнился. Никаких "восстановлений" или "глюков".
 

Silentland

Новичок
В том-то и дело, что записи удаляются (это можно проследить, если посмотреть в середине процесса в phpmyadmin), а потом снова создаются и через секунду phpmyadmin уже показывает их как ни в чем не бывало, причем со старыми id-шниками. Я уже везде в скрипте понавтыкал вывод в лог и там нигде не отображается, что что-то опять создается. Поэтому предполагаю, что косяк БД...
 

Silentland

Новичок
Уже готовился выложить код на форум, сменил пароль от БД и все заработало! Жалко... Появится потом такая пакость и не догадаешься ведь БД перезагрузить...
 

WMix

герр M:)ller
Партнер клуба
если такое происходит, тут либо меняйте базу либо программиста!
 
Сверху