2016-07-08 8 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

は、このテーブルに2つのトリガーを作成することもできます(ON INSERT ONS 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

関連する問題