DELETE FROM table_name WHERE published_date < '0000-00-00';
где 0000-00-00
дата, до которой будут удалены все записи.
Чтобы вычислить дату, до которой все записи будут считаться «старыми» мы используем две функции PHP работающие с датой/временем:
time
– возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT) до текущего времени.date
– форматирует вывод системной даты/времени.Функция date одним из параметров принимает количество секунд прошедших с 1 января 1970 года и формирует дату по определенному шаблону.
Исходя из этого, для получения необходимой нам даты используем следующий код:
// Количество прошедших дней, за которые не удалять записи
$days = 30;
$seconds = time() – $days * 24 * 60 * 60;
$date = date('Y-m-d', $seconds);
Полученную дату добавляем в запрос:
$query = "DELETE FROM table_name WHERE published_date < '" .$date. "' ";
После выполнения полученного запроса из базы данных будут удалены все записи, опубликованные более чем тридцатью днями ранее.