2017-02-11 55 views
-2

我想在每24小時插入後刪除數據庫中的數據。PHP - 如何在插入24小時後自動從數據庫中刪除數據

例如:用戶今天被添加並且他不活躍,24小時後用戶將被自動刪除。

我打算在沒有cron的情況下這樣做,因爲cron不在我的本地/離線服務器中。

請真的需要你的幫助。

+0

您可以用php做到這一點的唯一方法是在數據庫行中有最後一次登錄時間戳。如果用戶在24小時後回來刪除記錄。 PHP只在加載網頁時運行,並且不會在後臺運行 – NoLiver92

+0

MySQL有計劃的事件(請參閱https://dev.mysql.com/doc/refman/5.7/en/create-event.html),您可能會能夠使用這些 - 在數據庫中記錄一個日期,並每天安排一些東西,比如'DELETE FROM yourtable WHERE date = ...' – Toastrackenigma

回答

0

你可以簡單地使用

DELETE FROM your_table 
WHERE your_date_col < DATE_SUB(NOW(), INTERVAL 1 DAY)) 

和使用mysql安排的活動

可能是這樣

CREATE EVENT my_dayly_event 
    ON SCHEDULE 
     EVERY 1 DAY 
    COMMENT 'delete old values.' 
    DO 
    DELETE FROM your_table 
    WHERE your_date_col < DATE_SUB(NOW(), INTERVAL 1 DAY)) 

出頭反正花看起來這個文檔。 https://dev.mysql.com/doc/refman/5.7/en/create-event.html ...可能是有用的

+0

我不知道如何使用調度程序事件,請你能爲我寫這個嗎? – JBoy

+0

好的兄弟,這意味着與此我將不得不等待1天,然後我看到結果。對? – JBoy

+0

這是一個樣本...你可以研究文檔,並嘗試什麼更適合你..你可以改變頻率(1小時或1分鐘)進行調試或測試.. – scaisEdge

相關問題