[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удалять строки, пока не останется определенное кол
Myrow
Здравствуйте. Нужно удалить записи в таблице, но чтобы осталось не меньше определенного кол-ва записей (к примеру, чтобы осталось не менее 500). На ум приходит рекурсивная функция, которая будет каждый раз считать кол-во строк в таблице, и если больше ограничительного числа - то делать удаление. А можно как-то сделать одним запросом? Спасибо.
rooor
$sql = mysql_query("SELECT `id` FROM `table` LIMIT 500, 1");
if(mysql_num_rows($sql)){
$res = mysql_fetch_assoc($sql);
mysql_query("DELETE FROM `table` WHERE `id` > ".$res['id']);
}
Myrow
Неа, так не катит) В запросе для удаления есть ORDER BY, удалять просто по порядку не получится.
Valick
Myrow, чтобы катило, надо подробнее объяснять задачу, и уж совсем хорошо бы показать сам запрос и структуру таблицы.


_____________
Стимулятор ~yoomoney - 41001303250491
Michael
в mysql у команды delete есть limit . подробнее
Можно же посчитать сначала кол-во, и соответственно лишние.

_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

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