[英]delete rows from a table using MySQL Scheduler
我有一個名為:“regkeys”的 MySQL 表。 該表有兩列:“keyCat”和“keyNum”。 在我的網絡應用程序中,我有一個 keygen 模塊,該模塊將一個密鑰(1134fb)和一個類別(mds 或 dts 等)添加到該表中。
我想要完成的是:在發出(添加到數據庫中)一個鍵后,我想創建一個 MySQL 事件來刪除在我的表中停留/停留時間超過 2 天(左右)的鍵,這樣使密鑰過期(例如: - 從創建時間算起,計算 2 天,每個密鑰都必須被刪除,某些密鑰遲早會被刪除,這取決於它們的創建時間)。 我查看了MySQL 的 API ,但我需要一些邏輯方面的幫助。 我不知道如何告訴事件只刪除存儲了 2 天(左右)的密鑰。 我希望有人能給我一個簡單的例子或指導我獲得一個清晰的教程。
非常感謝您提前。
編輯:我想我發現了另一個對我的問題有所幫助的問題。 我想我以錯誤的方式(基於密鑰)進行了處理。 由於每個鍵和鍵類別都插入到一行中,調度程序應該處理行而不是鍵。
這是解決方案:
SET GLOBAL event_scheduler = ON;
CREATE EVENT <name>
ON SCHEDULE EVERY 20 SECOND
運行: ON SCHEDULE EVERY 20 SECOND
DO DELETE FROM <table_name> WHERE <time_stamp_column> < NOW() - INTERVAL 5 MINUTE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.