我想知道如何在日期過期時自動刪除記錄,我正在創建機票預訂網站。我需要從我的mysql數據庫中刪除所有過期的航班信息。我讀了一些我可以使用cron的地方,但我不知道該如何去做。腳本的任何幫助將會非常有幫助。日期到期時自動刪除表中的記錄?
9
A
回答
10
您可以嘗試使用MySQL Events
爲:
CREATE EVENT IF NOT EXISTS `dbName`.`eventName`
ON SCHEDULE
EVERY 1 DAY // or 1 HOUR
COMMENT 'Description'
DO
BEGIN
DELETE FROM `dbName`.`TableName` WHERE `DateCol` < NOW();
END
注意,MySQL的Event Scheduler需要你的服務器上啓用:
SET GLOBAL event_scheduler = ON;
更多信息here。
0
您需要該服務來檢查過期記錄並定期刪除。你應該使用這個SQL:
DELETE YourTable WHERE RecordDate < @Expiration
1
刪除記錄是不是一個好主意,我會建議你添加ActiveFrom和ActiveTo datetime列在您的詳細信息表,則不會顯示過期的記錄在你的前端。
0
克朗最適合您的情況。
- 創建您的PHP文件,刪除或標記不需要的航班,腳本將簡單地連接到數據庫,執行您的查詢,並可能輸出一個短暫的成功/失敗消息。
- 設置每X小時或任何你想要的執行該php腳本的cron作業。
如果您正在使用的cPanel,你可以設置你cron job from it
0
。利用科雷喬布斯。看看下面的表示。
Minutes [0-59]
| Hours [0-23]
| | Days [1-31]
| | | Months [1-12]
| | | | Days of the Week [Numeric, 0-6]
| | | | |
* * * * * home/path/to/command/the_command.sh
如果你想安排一個任務在每週六早上8:30運行,它很可能看起來像這樣。
30 8 * * 6 home/path/to/command/the_command.sh
只是玩弄你的設置,你最終會得到它。
+0
第二個呢? – Faytraneozter
相關問題
- 1. MSSQL記錄日期/時間自動刪除
- 2. 星期日自動刪除行日期
- 3. 當日期超出時從SQL表中刪除記錄
- 4. 刪除基於日期的記錄
- 5. 過去的當前時間戳或日期時自動刪除記錄
- 6. 得到的日期記錄日期
- 7. 如何在會話過期時自動刪除表中的所有記錄
- 8. Softlayer對象到期日期自動刪除對象的存儲
- 9. 自動過期並刪除SQLite數據庫中的記錄
- 10. 在MySQL中自動刪除過期記錄的方法?
- 11. 從表中刪除日期
- 12. MySQL的刪除記錄相同的日期時間
- 13. 如何自動刪除已在數據/到期的時間記錄
- 14. 自動刪除Subversion標籤按日期
- 15. 特定日期後自動刪除
- 16. 刪除隨機記錄[0-4刪除]每組[日期]
- 17. 自動從Mysql表中刪除記錄
- 18. 從毫秒到日期轉換時的刪除日期
- 19. 刪除mysql行,其中日期等於到期日期
- 20. 基於日期或者計數自動刪除重複的SQL記錄
- 21. 可以通過檢查日期列自動刪除記錄的數據庫
- 22. 在指定日期時刪除記錄ASP.NET MVC
- 23. 記事本++如何從日期中刪除日期和月份?
- 24. 在新記錄中自動設置日期時間
- 25. 從時間刪除日期
- 26. 從日期刪除時間
- 27. 在sqlite中刪除某個日期的記錄?
- 28. 如何刪除日期選取器中的日期(Xamarin表格)
- 29. NSAttributeString - 如何刪除日期或時間項的自動格式?
- 30. 刪除基於日期的目錄
爲什麼要刪除它。只是不顯示它,如果它已經過期 –
沒有必要。使用dbms調度。例如,MySQL有自己的[scheduler](http://dev.mysql.com/doc/refman/5.1/en/events-overview.html)。 – BlitZ
使用crone作業執行自動過期腳本。 – irfanmcsd