我想自動刪除mysql表記錄。我的項目是一個查詢應用程序。客戶通過移動應用程序向服務器發出一些問題。如果euquiry中的人員沒有回覆,那麼問題必須在一個月後自動刪除。我可以做什麼。使用mysql事件?我正在使用wampserver。如何刪除自動存儲在數據庫中的mysql記錄一個月
1
A
回答
0
如果客戶要求您'刪除'一條記錄,您應該明白您應該找到更好的解決方案。不刪除用戶的記錄,如果您想要再次使用該數據,該怎麼辦?
你想要的是添加幾個colums。使用日期添加'開始時間'值,並添加'活動'記錄,您可以在其中指定1或0爲有效或無效。
您可以運行一項任務將活動值更改爲0,並且在您的應用程序中只能獲取活動的那些人。
對於MySQL,你可以使用以下命令:
CREATE
EVENT `your_event`
ON SCHEDULE EVERY 1 DAY
DO BEGIN
UPDATE table SET active = 0 WHERE your_date < date_sub(now(), interval 1 month)
如果你真的想,你可以明顯使用DELETE有..
其實沒有上面的代碼中進行過測試,但它應該工作。
0
客戶要求在一個月後刪除某些東西是一項嚴格的要求。我會建議做兩件事。首先,使用在數據庫中添加一個創建日期每一行和訪問數據庫:
select t.*
from table t
where t.creationdate >= date(now()) - interval 1 month;
這可確保您將只得到任何查詢相應的行。事實上,你可以將它包裝在一個視圖中,只在你的應用程序中使用視圖。
然後,在您的休閒,運行作業刪除任何超過一個月以上:
delete from t
where t.creationdate < date(now()) - interval 1 month;
使用這種方法,用戶將不會看到一箇舊值,即使你錯過運行delete
。另外,您可以將delete
安排在服務器上安靜的時間,因此它不會干擾其他活動。
相關問題
- 1. 如何從數據庫表中自動刪除舊記錄?
- 2. 如何刪除mysql數據庫中的記錄?
- 3. 如何使用Laravel自動刪除數據庫記錄?
- 4. 在mysql數據庫中只刪除一條記錄
- 5. 自動從Mysql數據庫中刪除
- 6. 自動從Mysql表中刪除記錄
- 7. 自動過期並刪除SQLite數據庫中的記錄
- 8. 根據另一個數據庫中的表記錄刪除Hive中的記錄
- 9. 如何從git存儲庫中刪除舊的歷史記錄?
- 10. 如何刪除數據庫之間的MySQL記錄
- 11. 從MySQL數據庫中刪除一條記錄
- 12. 活動記錄存儲刪除
- 13. 如何刪除部分MySQL數據庫記錄?
- 14. 刪除記錄記錄存儲
- 15. 如何刪除db2數據庫中兩個重複記錄中的一個
- 16. 如何在一個數據庫中刪除多個存儲過程
- 17. 如何刪除在java中選定的記錄(行)MySQL數據庫
- 18. 刪除記錄,但在數據庫
- 19. 從數據庫中刪除記錄
- 20. 如何在事務數據庫中存儲已刪除的行
- 21. 如何從數據庫記錄中刪除¶(pilcrow)標記
- 22. 如何刪除CouchDB中的數據庫中的所有記錄?
- 23. 刪除物化數據存儲中的過濾器記錄
- 24. 如何刪除Chrome存儲的自動填充數據?
- 25. 如何在Mercurial的中央存儲庫中刪除目錄
- 26. 如何從SSIS中的目標數據庫中刪除記錄
- 27. 如何刪除存儲在本地存儲中的數據?
- 28. 自動刪除聯合數據以及刪除記錄?
- 29. Mysql只記錄一個數據庫
- 30. 在MySQL中自動刪除過期記錄的方法?
一個cronjob是這個 – baao 2014-11-01 14:43:34
一個非常簡單的解決方案,它可以幫助..http://stackoverflow.com/questions/5850185/how-to-delete-data-from-database-after-specified-hours-automatically – sasi 2014-11-01 14:46:31
我通常編寫一個php腳本來執行維護,並使用任務計劃程序每天運行該腳本。 – jeroen 2014-11-01 14:48:45