MySQLでスケジュールされたタスクを設定する方法の分析

MySQLでスケジュールされたタスクを設定する方法の分析

この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。ご参考までに、詳細は以下の通りです。

今日は毎日定期的に実行する必要があるタスクに遭遇しました。そのような機能はMySQLデータベースに用意されているので、整理して共有してみました。

1. まず、スケジュールされたタスクがオンになっているかどうかを確認します

イベントが有効になっているかどうかを確認します。

'%event_sche%' のような変数を表示します。

イベント プランを開くには:

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

イベントスケジュールを閉じるには:

グローバルイベントスケジューラを 0 に設定します。

イベントタスクを閉じる:

ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;

イベント タスクを開始するには:

ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;

イベントタスクを表示:

ショーイベント;

2. ストアドプロシージャを作成する

区切り文字 //
存在する場合はプロシージャを削除する p_test //
プロシージャ p_test() を作成する
始める
test(name, create_time) に値 ('testName', now()) を挿入します。
終わり//

3. このストアド プロシージャを呼び出すスケジュールされたタスクを設定します(2015 年 8 月 8 日の 1:00 から 10 秒ごとに実行されます)

存在する場合はイベントをドロップします e_test//
イベントの作成 e_test
スケジュールに従って 10 秒ごとに開始 タイムスタンプ '2015-08-08 01:00:00'
完了時に保存
する
始める
p_test() を呼び出します。
終わり//

注:イベント イベント: ON SCHEDULE スケジュールされたタスクでは、スケジュールされたタスクを設定する方法が 2 つあります。

1. AT タイムスタンプ。スケジュールされた単一のタスクを完了するために使用されます。

2. 毎回の時間(単位)数量時間単位[開始タイムスタンプ] [終了タイムスタンプ]。繰り返しスケジュールされたタスクを完了するために使用されます。

両方のスケジュールされたタスクでは、タイムスタンプは任意の TIMESTAMP および DATETIME データ型にすることができ、タイムスタンプは現在の時刻よりも大きい必要があります。

定期的にスケジュールされたタスクでは、時間 (単位) 数量は任意の NULL 以外の整数にすることができ、時間単位は YEAR、MONTH、DAY、HOUR、MINUTE、または SECOND のキーワードです。

ヒント: QUARTER、WEEK、YEAR_MONTH、DAY_HOUR、DAY_MINUTE、DAY_SECOND、HOUR_MINUTE、HOUR_SECOND、MINUTE_SECONDなどの他の時間単位も有効です。これらの非標準の時間単位を使用することはお勧めしません。

[完了時に保存しない]

ON COMPLETION パラメータは、「このイベントが再度発生しないとき」、つまり、単一のスケジュールされたタスクが完了したとき、または繰り返しスケジュールされたタスクが ENDS ステージに到達したときを意味します。 PRESERVE の機能は、実行後にイベントが削除されるのを防ぐことです。EVENT の特定の情報を表示するには、このパラメータを使用することをお勧めします。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL スケジュールタスク (EVENT イベント) を詳細に設定する方法
  • MySQL スケジュールタスクの実装と使用例
  • mysql スケジュールタスク (イベント イベント) の詳細な説明
  • Linux で MySQL スケジュール タスク バックアップ データを実装する方法
  • MySQL スケジュールタスク例チュートリアル
  • Linux で MySQL スケジュールタスクを実装する方法
  • MySQLのスケジュールタスクが正常に実行できない原因の分析と解決

<<:  Vueは時間カウントダウン機能を実装する

>>:  Linux でジャンクファイルをエレガントに削除する方法

推薦する

Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します

この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...

Nginx プロキシ転送構成を通じてクロスドメイン API プロキシ転送を実装する方法

序文WEB 開発では、クロスドメイン リクエストが頻繁に発生します。クロスドメインの問題を解決する方...

Ubuntu LinuxにOracle Java 14をインストールする方法

最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...

W3C チュートリアル (5): W3C XML アクティビティ

XML は、データを記述、保存、送信、交換するために設計されています。 XML 1.0 は XML ...

Reactでカスタムフックを作成する方法を教えます

1. カスタムフックとは何かロジックの再利用簡単に言えば、カスタム フックを使用すると、特定のコンポ...

個人履歴書を作成するための HTML の簡単な実装

履歴書コード: XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE ...

MySQL 8.0 の新機能: ハッシュ結合

MySQL 開発チームは、2019 年 10 月 14 日に MySQL 8.0.18 GA バージ...

JavaScriptエンジンV8の実行プロセスの詳細な説明

目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...

Weibo の一括フォロー解除機能を実装する JavaScript コード

Weibo ユーザーのフォローを一括で解除するクールな JavaScript コードWeibo には...

Docker ビルド PHP 環境チュートリアル詳細説明

Dockerのインストール公式インストールスクリプトを使用して最新バージョンのDockerをインスト...

Linux で 1 つのファイルの内容を別のファイルの末尾にコピーする

問題の説明:たとえば、ファイル 11 の内容は次のとおりです。こんにちはファイル22の内容は次のとお...

MySQL データベースのマスター スレーブ分離のサンプル コード

導入MySQL データベースの読み取りと書き込みの分離を設定すると、データベースに対する書き込み操作...

Ubuntu システムに Theano と Keras をインストールする方法

注: システムは Ubuntu 14.04LTS、32 ビット オペレーティング システムです。Py...

JavaScript で localStorage を使用する方法

.NET の世界に参入したい開発者であれば、何が可能なのかを知る必要があります。 .NET Fram...

Vueはタブルーティング切り替えコンポーネントのメソッド例を実装します

序文この記事では、vue に付属している vue-router.js ルーティングを使用してページン...