このスクリプトを実行するための最良の方法は、スクリプトをアタッチしてcron
、指定された間隔で実行することです。
次に、レコードの削除をプログラムするには、次のクエリを実行する必要があります。
DELETE FROM records WHERE UNIX_TIMESTAMP(time_stamp) + TTL * 86400 <= CURRENT_TIMESTAMP()
time_stamp
はレコード作成値です。たとえば、1000000に等しいとします。86400は1日の秒数です。ファイルを削除するTTL
までの日数です。time_stamp
したがって、TTL
が2で、1000000が7月10日のタイムスタンプである場合、基本的に次のように比較します。
1000000 + 86400 * 2 <= CURRENT_TIMESTAMP
さて、今日は7月12日だとしましょう。これは、7月10日から2日(86400 * 2秒)であることを意味します。したがって、
CURRENT_TIMESTAMP = July 10th timestamp + 2 days worth of seconds
= 1000000 + 86400 * 2
これCURRENT_TIMESTAMP >= 1000000 + 86400 * 2
は、7月12日以降のすべての時点で、レコードを削除することを意味します。
これにより、サーバーの実行中にレコードが毎日削除されます。楽しんで頑張ってください!