我現在有我的數據庫更新插入新記錄時的時間戳。它格式是這樣的:從sql數據庫中刪除。基於時間戳(cron job)?
2017-08-24 15:48:30.189182
我的問題是:我怎麼刪除已經結束,假設3天的記錄?
我假設我可以每晚運行一個cron作業來刪除超過3天的記錄。有人可以給我的格式嗎?我不知道如何處理時間戳數據。
謝謝你的幫助!
我現在有我的數據庫更新插入新記錄時的時間戳。它格式是這樣的:從sql數據庫中刪除。基於時間戳(cron job)?
2017-08-24 15:48:30.189182
我的問題是:我怎麼刪除已經結束,假設3天的記錄?
我假設我可以每晚運行一個cron作業來刪除超過3天的記錄。有人可以給我的格式嗎?我不知道如何處理時間戳數據。
謝謝你的幫助!
不同的數據庫有不同的方式來計算兩個天之間的時間差......
MySQL的:DATEDIFF(DATE1,DATE2);
Oracle:select date1 - date2 from dual;
等等...
假設列DATE
類型的,你可以運行刪除所有列,其中今天和你列之間的差值大於3
查詢替換爲table
您表和date_column
與您的列名稱。再說一遍,這裏假定你已經得到了DATE
類型的列,而不是VARCHAR
或其他東西。
DELETE FROM table WHERE DATEDIFF(CURDATE(), date_column) > 3
您預計**嘗試自己編寫的代碼**。在[**做更多的研究**之後](https://meta.stackoverflow.com/q/261592/1011527)如果你有問題**發佈你已經嘗試了**的**明確的解釋不工作**並提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。閱讀[如何問](http://stackoverflow.com/help/how-to-ask)一個很好的問題。請務必[參觀](http://stackoverflow.com/tour)並閱讀[this](https://meta.stackoverflow.com/q/347937/1011527)。 –
if((time() - strtotime('2017-08-24 15:48:30.189182')> 259200){// 3天過去了;} – coderodour
謝謝!!!!!!通常我會包含代碼。不知道它是如何被格式化的 –