2013-04-07 5 views
0

Я пытаюсь настроить это так, что если запись истек, он будет удален, я знаю, что мое соединение хорошо, потому что этот код работаетУдалить запись из базы данных, если истекли

mysqli_query($resDB,"DELETE FROM downloads WHERE downloads='1'"); 

, но я могу» t, похоже, выяснить, как это сделать со временем, можно ли использовать меньше, чем знак в запросах? Это то, что у меня есть до сих пор.

mysqli_query($resDB,"DELETE FROM downloads WHERE expires < time()"); 

ответ

1

UNIX_TIMESTAMP(). Он возвращает текущее время UTC. Поле expires - это. time() тоже это.

WHERE expires < UNIX_TIMESTAMP() 
+0

спасибо, что работал, я буду принимать в качестве ответа в течение 10 минут, когда он позволяет мне –

+0

Многие функции полезной даты/времени, а их аргументы и вывод: https: //dev.mysql. ком/док/RefMan/5,5/а/дата и время-functions.html – Rudie

0

ОК, прежде всего, вам нужно создать поле, (например, TimeStamp), хотя я предпочитаю DateTime. Всякий раз, когда вы вставляете новую строку в таблицу «загрузок« , вам нужно указать срок ее действия.

, который вы будете делать с помощью следующего:

INSERT INTO downloads (Download_ID, ExpiresOn) VALUES(5, DATE_ADD(NOW(),interval +1 month)); 

так, всякий раз, когда вы хотите удалить истекшую download_id вам придется

DELETE FROM downloads WHERE ExpiresOn < NOW() LIMIT 1; 

надеюсь, что это помогает :)

Конечно, существуют различные типы решений для этой проблемы, вам нужно дать лучшее объяснение вашей проблемы и того, чего вы хотите достичь. :)

ура ^^

Смежные вопросы