私はいくつかのグーグルをしましたが、実際には多くの関連情報を得ることができません。アクティビティに応じて特定の行を削除する日時を設定しようとしています。アクティブな場合、もう一度アクティブにしない限り、時間は後の時間にバンプされます。それ以外の場合は削除されます。アクティビティでアクティブ化(挿入/更新)されたときに行を並べ替えることができました。
前もって感謝します。
まず、削除する必要のある行が数百万行ある場合は、この更新/削除をトリガーにしないでください。挿入/更新でパフォーマンスが大幅に低下します。最適な場所ではありません。Filypeが提案したように、cronジョブを作成できます。または、すべてをMySQLに保持する場合は、MySQLイベントスケジューラを使用します。
MySQLでのイベントのスケジュールについて詳しくは、次のページにアクセスしてください:http: //dev.mysql.com/doc/refman/5.1/en/events.html
MySQLイベントを使用すると、MySQLで定期的にスケジュールを設定できます。
コードは次のようになります
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
DELETE FROM MyTable Where Expired< NOW();
これが提案です。まだ試していません。実際にレコードを削除するのではなく、deleted=1で行を更新することをお勧めします。
CREATE TRIGGER deleteInactiveRecords AFTER UPDATE,INSERT ON myTable
FOR EACH ROW BEGIN
DELETE FROM myTable WHERE updated < (updated-((60)*60*24))
END;