2016-07-08 153 views
0

我想刪除超過1天的記錄。實現它的最好方法是什麼?我從來沒有使用過活動,所以我沒有什麼問題。 例如:我想刪除start_time大於1天的記錄。 通過做一些研究,我得到了這一點。創建刪除事件,每天刪除較舊的記錄

CREATE EVENT deleteRecords 
ON SCHEDULE EVERY 1 DAY 
ON COMPLETION PRESERVE 
DO 
DELETE FROM databaseName.tableName WHERE start_time < DATE_SUB(NOW(), 
INTERVAL 1 DAY) 
+0

我對事件把我的個人資料頁幾個環節。就像開啓事物等等。 – Drew

+0

最好的辦法是在這個表上創建兩個觸發器(ON INSERT AND OND UPDATE),存儲行的一個實現表。因此刪除事件可以在沒有任何其他操作的情況下運行 –

+0

對您的表有任何描述?猜測你的'start_time'只是一個時間或時間戳或者其他數據類型有點難。您顯示的DELETE功能在邏輯上是正確的。 – rhavendc

回答

0

關於如何實現您想要的結果有很多方法。

//sample 1 
DELETE FROM databaseName.tableName WHERE DATE_ADD(start_time,INTERVAL 1 DAY) < NOW(); 

//sample 2 
DELETE FROM databaseName.tableName WHERE ADDTIME(start_time,"1 00:00:01") =< NOW(); 

您的文章中的代碼也可以使用。但是如果你不確定你在做什麼,不要忘記先備份數據。

參考Date and Time Functions