|
|
|
| Здрасте!
Я пока еще к этому не дошел, но хочу спросить, чтоб уже знать наверняка.
Есть поле valid. В этом поле- значение, когда заканчивается срок действия.
И я прописываю в cron`е свой скрипт, которые ежедневно будет проверять всю базу, и если, грубо говоря, "сегодня больше чем valid", то запись удаляется.
Так вот. Как это организовать? Моя первая мысль - valid - это секунды. И если сегодняшний time() больше чем поле valid- запись удаляется. Я знаю, что в mysql есть работа с датами, но не проще ли мне в данном случае применить именно это конструкцию?
Заранее благодарен! | |
|
|
|
|
|
|
|
для: stas1987
(16.07.2007 в 17:53)
| | исключительно дело вкуса.
Можно держать таймштамп события в поле DATETIME (обращаться придется в формате YYYY-MM-DD HH:MM:SS, храниться будет также) и сравнивать его с NOW() )
Можно держать таймштамп события в поле TIMESTAMP (обращаться придется в формате YYYY-MM-DD HH:MM:SS, храниться он будет в виде unixtime) и сравнивать его с NOW() )
Можно держать таймштамп события в поле INT (в формате unixtime) и сравнивать его с UNIX_TIMESTAMP() или time() по желанию)
В последнем случае проще работать, если клиенты и сервер в разных временнЫх зонах.
В первых двух проще администрировать базу. | |
|
|
|
|
|
|
|
для: Trianon
(16.07.2007 в 18:05)
| | Спасибо.
Т.е., если мне просто нужно проверять сегодняшнее число и поля valid, то лучше и проще использовать третий вариант | |
|
|
|
|
|
|
|
для: stas1987
(16.07.2007 в 18:14)
| | варианты 1, 2
SELECT * FROM tbl WHERE NOW() > valid
|
вариант 3
SELECT * FROM tbl WHERE UNIX_TIMESTAMP() > valid
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.07.2007 в 18:36)
| | Огромное спасибо | |
|
|
|