SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.08.2012 17:19:39

gergia
Участник
Зарегистрирован: 15.03.2011
Сообщений: 16

Удалить записи за месяц.

Здравствуйте!

Имеем записи которые нужно хранить всего месяц, эти записи не имеют поля с датой и мы хотим это сделать для новых записей, сделали следующее:

добавили такое поле:
`date` DATE   NOT NULL default '0000-00-00',

заносим дату так:
$date = date( "Y-m-d");
@mysql_query("INSERT INTO baza VALUES('', '', '', '{$date}')");

пробуем удалить так:
@mysql_query("DELETE FROM baza WHERE date > DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)");
и так
@mysql_query("DELETE FROM baza WHERE date >  LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))");
и вот так
@mysql_query("DELETE FROM baza WHERE date > (NOW() - interval 30 day)");
и даже так
@mysql_query("DELETE FROM baza WHERE date > (NOW() - interval 1 month)");

но запись не удаляется за указанный период, пробовал менять > на < , в одном случае запись удаляется сразу который добавлен за секунду раньше а в другом случае ничего не происходит, запись даты через мойадмин перекидывали на 1, 2 месяца вперед для этого теста, а проверяем это всё на денвере.

Посмотрите пожалуйста, что тут не так, что запись не удаляется на указанный период, если поле который мы создали не очень гуд, то пожалуйста напишите более оптимальный, быстрый и оптимизированный вариант.

Спасибо за помощь!

Отредактированно gergia (19.08.2012 19:00:10)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson