MySQLのトリガーの前後の違いは何ですか

目次:

Anonim

NS 主な違い MySQLのBeforeトリガーとAfterトリガーの間は Beforeトリガーは、テーブルで特定の操作が実行される前にアクションを実行し、Afterトリガーは、テーブルで特定の操作が実行された後にアクションを実行します。

MySQLは、ユーザーがリレーショナルデータベースのデータを簡単に取得および管理できるようにする人気のあるDBMSです。データを表形式で保存します。ユーザーは、構造化照会言語(SQL)を使用してデータに対してさまざまな操作を実行できます。一方、Triggerは、ある種のイベントが発生したときに自動的に実行または起動するストアプログラムです。トリガーへの応答は、トリガーのタイプによって異なります。

トリガー後、トリガー前、MySQL

MySQLのトリガーとは何ですか

トリガーは、特定のテーブルに対する挿入、更新、削除操作などの操作に応答する一連のアクションです。トリガーは、SQL操作が実行されるとアクティブになります。さらに、参照制約を使用してトリガーを作成し、データ整合性ルールの適用を可能にする制約を確認することができます。さらに、トリガーは他のテーブルの更新に役立ちます。また、挿入または更新されたレコードの値を自動的に生成または変換したり、アラートの発行などのタスクを実行したりします。

MySQLのトリガー前とは

Beforeトリガーは、挿入、更新、削除などの操作の前に実行されるトリガーです。ユーザーは、これらのトリガーを複数の場合に書き込むことができます。これらは、データベースにデータを更新または挿入する前に、値を確認または変更するのに役立ちます。ユーザー定義関数でコード化された他の非データベース操作を実行することも可能です。

挿入操作前のトリガーの例は次のとおりです。

CREATE TRIGGER trigger_name

挿入する前に

各行のtable_nameに

始める

-変数宣言

-トリガーコード

終わり;

trigger_nameは、トリガーを識別するために使用されます。作成するトリガーの名前です。 「BEFOREINSERT」ステートメントは、挿入操作を実行する前にトリガーが起動することを示します。 table_nameは、トリガーが作成されるテーブルの名前を示します。これらのトリガーは新しい値を更新します。テーブル内の古い値は同じままです。

MySQLのAfterTriggerとは

アフタートリガーは、挿入、更新、削除などの操作の後に実行されるトリガーです。ユーザーは、これらのトリガーを複数の場合に書き込むことができます。彼はそれらを使用してテーブルのデータを更新できます。また、これを使用して、ユーザー定義関数でコード化されたデータベース以外の操作を実行することもできます。

挿入操作後のトリガーの例は次のとおりです。

CREATE TRIGGER trigger_name

挿入後

各行のtable_nameに

始める

-変数宣言

-トリガーコード

終わり;

trigger_nameは、トリガーを識別するために使用されます。作成するトリガーの名前です。 「AFTERINSERT」ステートメントは、挿入操作の実行後にトリガーが起動することを示します。 table_nameは、トリガーが作成されるテーブルの名前を示します。これらのトリガーは新しい値を更新します。古い値は同じままです。

MySQLでのトリガーの前後の違い

意味

Before Triggerは、テーブルで特定の操作が発生する前に自動的に実行されるトリガーの一種です。対照的に、アフタートリガーは、テーブルで特定の操作が発生した後に自動的に実行されるタイプのトリガーです。したがって、これらの定義は、MySQLのトリガーの前後の基本的な違いを説明しています。

使用法

通常、Beforeトリガーの使用は、テーブルにデータを受け入れる前に検証を実行し、テーブルから値を削除する前に値をチェックすることです。ただし、通常、Afterトリガーの使用は、変更が発生したためにテーブル内のデータを更新することです。したがって、MySQLのトリガーの前後の主な違いは、それらを使用する場所です。

銀行のアプリケーションでは、トリガー前は値を削除する前にチェックするのに役立ち、トリガー後はアカウントテーブルの残高を更新するのに役立ちます。

結論

MySQLのbeforeトリガーとafterトリガーの主な違いは、Beforeトリガーは特定の操作がテーブルで実行される前にアクションを実行するのに対し、Afterトリガーは特定の操作がテーブルで実行された後にアクションを実行することです。

リファレンス:

1.「トリガーのタイプ」、IBMナレッジ・センター、ここから入手可能。 「MySQL:BEFORE INSERT Trigger」、Tech on the Net、こちらから入手可能3。 「AFTERINSERTTrigger」、Tech on the Net、こちらから入手できます。

画像提供:

1. RRZEiconsによる「Database-mysql」– Commons Wikimediaによる自作(CC BY-SA 3.0)

MySQLのトリガーの前後の違いは何ですか