![]() |
Удаление записей из таблицы по заданному времени на php
Ребят подскажите чайнику как реализовать на php+ mysql удаление записей из таблицы по заданному времени.
Например: есть группа статьей половину из которых выли сознаны пол года назад, необходимо создать скрипит который удалял стати который больше чем 30 дней Заранее благодарю за помощь!!!! |
если есть доступ к crontab-у, то лучше оттуда (написать скрипт, удаляющий нужные таблицы, и в крон вписать его с указанием времени выполнения, скажем, каждый день в час ночи)
|
dmitryst, а нужно ли? Ведь требуется только 1 раз удалить записи.
magwolf, Ключевым будет sql-запрос типа такого: Код:
DELETE * FROM table_name WHERE st_date < '13.07.2009' PHP код:
В результате будет или "всё", или "ничего" (если ошибки какие в запросе :)). Под st_date подразумевается имя поля, где хранится дата статьи. Соответственно, формат даты нужно использовать тот, который в БД записан. Бывает, что дату хранят в трёх полях (день, месяц, год), но это маловероятно. Если есть какой-нибудь phpMyAdmin на сервере, то можете прямо в нём выполнить запрос (для начала всё то же самое попробуйте, но вместо DELETE напишите SELECT. Если выдаст именно те статьи, которые надо удалять, то пишите DELETE вторым запросом). |
Цитата:
Кстати, mysql не имеет встроенного средства для уточнения даты последней модификации таблицы? Из MySQLAdministrator-а видно, наверняка оно где-то хранится (или используется просто дата модификации соответствующего файла .FRM?). А то можно было бы получить списочек... (по типу SHOW VARIABLES LIKE...) |
Записи необходимо чтоб удалялись автоматически. например: прошел месяц или срок установленный заранее и скрипит, удалил все записи срок которых больше 30 дней или срок который укажет админ.
|
magwolf, значит, всё-таки cron :)
|
Время: 07:44. |
Время: 07:44.
© OSzone.net 2001-