MySQLで指定した時間前にレコードを自動的に削除する方法

MySQLで指定した時間前にレコードを自動的に削除する方法

イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間トリガー」であり、トリガーのイベント トリガーとは異なります。イベントは Linux crontab のスケジュールされたタスクに似ており、時間トリガーに使用されます。これを単独で使用するか、ストアド プロシージャを呼び出すと、関連する SQL ステートメントまたはストアド プロシージャが特定の時点でトリガーされます。

まず、2 日前に記録された SQL ステートメントを削除します (webserver_monitormemory はテーブル名、time は時間フィールドです)。

DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day)) の場合、webserver_monitormemory から削除します。

ストアド プロシージャを作成します。

区切り文字 //
CREATE PROCEDURE autodel()
  -> 開始
  -> DATE(time) <= DATE(DATE_SUB(NOW(),INTERVAL 2 day)) の webserver_monitormemory から削除します。
  -> 終了
  -> //
区切り文字 ;

イベントを作成し、autodel を毎日実行するストアド プロシージャをカスタマイズします。

イベント「event_auto_del_memorydata」を作成する  
スケジュールに従って 1 日ごとに開始 '2017-11-20 00:00:00'  
完了時に保存せず、有効にし、autodel() を呼び出します。

イベントプラン(スケジューラ)を起動する方法は4つあります。キー値 1 または ON はオンを意味し、0 または OFF はオフを意味します。

グローバルイベントスケジューラを 1 に設定します。 
@@global.event_scheduler を 1 に設定します。 
グローバルイベントスケジューラを ON に設定します。 
@@global.event_scheduler を ON に設定します。

イベント プラン (スケジューラ) が現在有効になっているかどうかを確認する方法は 3 つあります。

'event_scheduler' のような変数を表示します。
@@event_schedulerを選択します。
プロセスリストを表示します。

イベントの開始と終了:

ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //イベントを有効にする ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //イベントを無効にする

これは最も簡単ですが、最も重要です。タイマーは手動で開始する必要があります。そうしないと機能しません。

ALTER EVENT event_time_clear_data を ON にする 
完了保存を有効にする;

さらに、タイマーをオフにするコードは次のとおりです。

ALTER EVENT event_time_clear_data を ON にする 
完了保存無効;

ストアド プロシージャを削除します。

プロシージャ pro_clear_data を削除します。

イベントを削除:

存在する場合はイベントを削除 event_time_clear_data1

要約する

以上は、編集者が紹介したMySQLで指定時間前にレコードを自動的に削除する操作方法です。皆様のお役に立てれば幸いです。ご質問があれば、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL スケジュールタスク例チュートリアル
  • Linux で MySQL スケジュールタスクを実装する方法
  • Windows での MySQL の使用: 自動スケジュールバックアップの実装
  • MySQLデータベースイベントスケジュール実行タスクの詳細な説明
  • MySQL イベント スケジューラに関するよくある話 (必読)
  • MySQL でのイベントの使用法の詳細な説明
  • mysql スケジュールタスク (イベント イベント) の詳細な説明

<<:  TomcatコンポーネントはWebサーバーのアーキテクチャの進化を示しています

>>:  Nginx プロキシ axios リクエストと注意事項

推薦する

マインスイーパゲームを実装するための jQuery プラグイン (3)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する方法に関する3番目の記事...

Linuxで相対パスを表現する方法

たとえば、現在のパスが /var/log で、/usr ディレクトリに移動する場合は、次のコマンドを...

vuex データの永続化のための 2 つの実装ソリューション

目次ビジネス要件:解決策 1: vuex-persistedstate解決策2: vuex-pers...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

ウェブページのテキストデザインは、服を着た賢い女の子のようであるべきだ

<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...

JavaScript プロトタイプオブジェクトの this ポイント問題の詳細な説明

目次1. これは2. この点を修正する1. call() メソッド2. apply() メソッド要約...

nginx を使用してカナリアリリースをシミュレートする方法

この記事では、ブルーグリーン デプロイメントと、nginx を使用してカナリア リリースを最も簡単な...

aタグのname属性とid属性を使用してページ内を移動する方法

以前はaタグのname属性を使ってジャンプする方法しか知らなかったのですが、idも使えることを今日知...

Amap を使用した React 実装例 (react-amap)

React の PC 版は Amap を使用するようにリファクタリングされました。情報を検索したと...

ZabbixはSNMPに基づいてLinuxホストを監視します

序文: Linux ホストは、エージェント プログラムをインストールする場合でも、SNMP を使用す...

フォーム OnSubmit と input type=image の使用の概要

ここに <input type="image"> がある場合、この画...

CSSでサウンドを再生するいくつかのテクニック

CSS は、スタイル、レイアウト、プレゼンテーションの領域です。色彩、サイズ、アニメーションが溢れて...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

ドロップダウンリストのJavaScript実装

この記事の例では、ドロップダウンリストを実装するためのJavaScriptの具体的なコードを参考まで...