以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタマイズ可能) でライブラリ内のテーブルを定期的に判断します。このテーブルのデータが 20 レコードを超える場合 (このデータもカスタマイズ可能で、200 レコードにすることもできます)、最新の 10 レコードが保持されます (このデータもカスタマイズできますが、以前のデータ レコード数以下である必要があります)。 解決策について簡単に説明します(後ろから前に向かって導き出されます)。 1. タイマーを開始します。タイマーは次の 2 つのことを行います。 ⑴時間間隔を設定する ⑵ストアドプロシージャを呼び出す 2. 次の 2 つのことを実行するストアド プロシージャを作成します。 ⑴ テーブル内のデータエントリ数が 20 を超えているかどうかを判断します。20 を超える場合は、次の手順を実行します。 ⑵ 最新の10件のデータを残し、残りの古いデータを削除します。これには、最新のデータ ID の値が大きくなるように、テーブルの主キー ID が増加する必要がります。現在のテーブルで最大の ID を見つけて 10 を減算して「delete node」を取得し、delete ステートメントに where id <'delete node' と記述します。結果は正確ではないかもしれませんが、おおよその効果は達成できます。 増分される主キー ID を持つデータ テーブルがあるとします。このテーブルのデータは増え続けます。次に、5 秒ごとに最新の 10 個のデータをデータ テーブルに保存し、その他を削除する必要があります。 コードプロセスは次のとおりです。 1. まず、pro_clear_data という名前のストアド プロシージャを定義します。縦棒 (“|”) が欠落していないことを確認してください。 区切り文字 | 存在する場合はプロシージャを削除します pro_clear_data | プロシージャ pro_clear_data() を作成します。 始める SET @datas_count=(SELECTCOUNT(id) FROM datas); IF(@datas_count>20) の場合 SET @max_id=(SELECT MAX(id) FROM datas); @max_id を @max_id - 10 に設定します。 id<@max_id; の場合、`datas` から削除します。 終了の場合; 終わり | 2. event_time_clear_dataという名前のタイマーを作成する グローバルイベントスケジューラを 1 に設定します。 存在しない場合はイベントを作成 event_time_clear_data スケジュールどおりに5秒ごとに 完了時に保存 pro_clear_data() を呼び出してください。 3. これは最も簡単ですが、最も重要です。タイマーは手動で開始する必要があります。そうしないと機能しません。 ALTER EVENT event_time_clear_data を ON にする 完了保存を有効にする; ストアド プロシージャを作成し、タイマー コードを個別に作成します。 データは 5 秒ごとに自動的にクリアされ、最新の 10 件のレコードが保持されます。 さらに、タイマーをオフにするコードは次のとおりです。 ALTER EVENT event_time_clear_data を ON にする 完了保存無効; ストアド プロシージャを削除するコードは次のとおりです。 プロシージャ pro_clear_data を削除します。 イベントについて: MySQL バージョン 5.1 では、イベントの概念が導入され始めました。イベントは「時間トリガー」であり、トリガーのイベント トリガーとは異なります。イベントは Linux crontab のスケジュールされたタスクに似ており、時間トリガーに使用されます。これを単独で使用するか、ストアド プロシージャを呼び出すと、関連する SQL ステートメントまたはストアド プロシージャが特定の時点でトリガーされます。 イベントを削除: 存在する場合はイベントを削除 event_time_clear_data1 これで、MySQL を実装してテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持する方法についての説明は終わりです。MySQL の定期的なデータクリアに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: ウェブデザインにおけるテキスト入力ボックスのパラメータの説明
>>: TypeScriptのインデックスシグネチャの理解に関する簡単な説明
この記事の例では、テーブルのシームレスなスクロールを実現するためのjQueryの具体的なコードを参考...
この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...
目次序文プレビュー文章グラフィックコンポーネントプロパティ機能グリッドを描く軸角度を計算するスケール...
目次1. nodejsをダウンロードする2. ダブルクリックしてインストール3. グローバル npm...
1.公式サイトからインストールパッケージをダウンロードするhttp://nginx.org/en/d...
前回の記事では、MySQL パスワードをリセットする方法を説明しました。一部の学生から、データベース...
目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...
ドクター紹介: Docker はコンテナ関連の技術です。簡単に言うと、さまざまなソフトウェアを実行で...
1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...
この記事の例では、ユーザー登録機能を実装するためのjsの具体的なコードを参考までに共有しています。具...
まずは本体から始めましょう:ウェブページを閲覧するとき、最初に目に留まるのは通常、ページの背景です。...
mysql が閉じない場合の解決策:コンピュータのタスクバーを右クリックしてタスクマネージャーを開き...
序文オプションの連鎖演算子 (?.) を使用すると、チェーン内の各参照が有効であることを明示的に検証...
目次導入Homebrewをインストールするnvmをインストールするノードをインストールするインストー...
シームレス カルーセルは非常に一般的なエフェクトであり、ロジックを理解すれば非常に簡単です。効果は以...