вот таблица
mysql> describe exim_greylist
-> ;
+----------------+-----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------------------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| relay_ip | varchar(80) | YES | | NULL | |
| sender | varchar(255) | YES | | NULL | |
| recipient | varchar(255) | YES | | NULL | |
| block_expires | datetime | NO | | 0000-00-00 00:00:00 | |
| record_expires | datetime | NO | | 9999-12-31 23:59:59 | |
| create_time | datetime | NO | | 0000-00-00 00:00:00 | |
| type | enum('AUTO','MANUAL') | NO | | MANUAL | |
| passcount | bigint(20) | NO | | 0 | |
| blockcount | bigint(20) | NO | | 0 | |
+----------------+-----------------------+------+-----+---------------------+----------------+вот скрипт написал для удаления старых записей
<?php
$DBSERVER = hhhhhhh;
$DBUSER = yuuu;
$DBPASS = hhhhh;
$DB = mail;
$link = mysql_connect("$DBSERVER", "$DBUSER", "$DBPASS")
or die("Could not connect: " . mysql_error());mysql_query("DELETE FROM exim_greylist WHERE (record_expires > DATE_ADD(now(), INTERVAL 1 HOUR)) AND (type='AUTO')");
?>
Оно то удаляет! А как вы думаете правильно всё или что-то подправить надо?
>[оверквотинг удален]
> $DBPASS = hhhhh;
> $DB = mail;
> $link = mysql_connect("$DBSERVER", "$DBUSER", "$DBPASS")
> or die("Could not connect: " . mysql_error());
> mysql_query("DELETE FROM exim_greylist WHERE (record_expires > DATE_ADD(now(), INTERVAL
> 1 HOUR)) AND (type='AUTO')");
> ?>
>
удаляет истекающие через 1 час или позже?
> удаляет истекающие через 1 час или позже?
Да
Я ещё вот так могу сделать
DELETE FROM exim_greylist WHERE id < 100000 ;
Но какое мне лучше тут id поставить ?То я сейчас заглянул в базу у меня последний id = 4 000 000
>> удаляет истекающие через 1 час или позже?
> Да
> Я ещё вот так могу сделать
>
> DELETE FROM exim_greylist WHERE id < 100000 ;
>
> Но какое мне лучше тут id поставить ?
> То я сейчас заглянул в базу у меня последний id = 4
> 000 000сделайте условие record_expires > now()
UPDATE: сорри, недочитал. у вас выше все правильно прописано
>> удаляет истекающие через 1 час или позже?
> Да
> Я ещё вот так могу сделать
>
> DELETE FROM exim_greylist WHERE id < 100000 ;
>
> Но какое мне лучше тут id поставить ?
> То я сейчас заглянул в базу у меня последний id = 4
> 000 000блин
удаляет (истекающие через 1 час или позже)?
или
удаляет (истекающие) через 1 час или позже?