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プロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

Vue モバイル開発で better-scroll を使用するときにクリック イベントが失敗する問題の解決策

最近、モバイル プロジェクトの開発方法を学ぶために vue を使用し、スクロールには better-...

VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)

目次準備VMware Workstation Pro 16 をインストールするLinux仮想マシンの...

Vue 開発者向けの VSCode 拡張機能ベスト 7

適切な VS Code 拡張機能を Visual Studio に追加すると、開発者としての作業がは...

Firefox または IE でスパン幅が決定されない場合の解決策

コードをコピーコードは次のとおりです。 <html xmlns="http://ww...

MySQL の時間保持問題に関する簡単な分析

MySQL のデフォルトの時間タイプ (datetime と timestamp) の精度は秒です。...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

Linux でファイル権限を変更する chmod コマンドの詳細な分析

Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...

MySQL Workbenchのダウンロードと使用方法のチュートリアルの詳細な説明

1. MySQL WorkbenchをダウンロードするWorkbench は、MySQL のグラフィ...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

Docker Swarm クラスタ管理の使用と原理の分析

Swarm クラスター管理導入Docker Swarm は Docker 用のクラスター管理ツールで...

XHTML の珍しいが便利なタグ

Xhtml には、あまり使用されないが非常に便利なタグが多数あります。半分の労力で 2 倍の結果を達...

Rails APIを使用してReactアプリケーションを構築するための詳細な手順

目次バックエンド: Rails API部分フロントエンド: React部分Reactコンポーネントa...

Windows で MySQL インストーラーを使用して MySQL サービスをインストールするチュートリアル図

MYSQL は、MYSQL サービスやその他のコンポーネントをインストールするためのインストーラ方式...