MySQLトリガーの簡単な例 文法 CREATE TRIGGER <トリガー名> -- トリガーには、最大 64 文字の名前を付ける必要があります。名前の後に区切り文字を続けることもできます。名前は、MySQL の他のオブジェクトとほぼ同じように付けられます。 { BEFORE | AFTER } -- トリガーには実行時間設定があり、イベント発生前または発生後に設定できます。 { INSERT | UPDATE | DELETE } -- トリガーするイベントを設定することもできます。挿入、更新、または削除の実行中にトリガーできます。 ON <テーブル名> -- トリガーは特定のテーブルに属します。このテーブルで挿入、更新、または削除操作が実行されると、トリガーがアクティブになります。同じテーブルの同じイベントに 2 つのトリガーを割り当てることはできません。 FOR EACH ROW -- トリガー実行間隔: FOR EACH ROW 句は、トリガーに対して、テーブル全体に対して 1 回ではなく、1 行おきにアクションを実行するように指示します。 <トリガー SQL ステートメント> -- トリガーには、トリガーされる SQL ステートメントが含まれます。ここでのステートメントは、複合ステートメントを含む任意の有効なステートメントにすることができますが、ここでのステートメントの制限は関数の場合と同じです。 --トリガー (CREATE TRIGGER) を作成するには相当の権限が必要ですが、すでに root ユーザーである場合はそれで十分です。これは SQL 標準とは異なります。 例 例1: テーブル tab1 を作成 tab1が存在する場合はテーブルを削除します。 テーブルを作成 tab1( tab1_id varchar(11) ); テーブル tab2 を作成 tab2が存在する場合はテーブルを削除します。 テーブル tab2 を作成します ( tab2_id varchar(11) ); トリガーを作成する: t_afterinsert_on_tab1 機能: tab1テーブルにレコードを追加すると、レコードは自動的にtab2テーブルに追加されます。 t_afterinsert_on_tab1 が存在する場合はトリガーを削除します。 トリガー t_afterinsert_on_tab1 を作成する タブ1に挿入後 各行ごとに 始める tab2(tab2_id) に値(new.tab1_id) を挿入します。 終わり; 試してみる tab1(tab1_id) に値('0001') を挿入します。 結果を見る tab1から*を選択します。 tab2から*を選択します。 例2: トリガーの作成: t_afterdelete_on_tab1 機能: tab1 テーブルのレコードを削除すると、tab2 テーブルの対応するレコードも自動的に削除されます。 t_afterdelete_on_tab1 が存在する場合はトリガーを削除します。 トリガー t_afterdelete_on_tab1 を作成する タブ1の削除後 各行ごとに 始める tab2_id=old.tab1_id の tab2 から削除します。 終わり; 試してみる tab1_id='0001' の場合、tab1 から削除します。 結果を見る tab1から*を選択します。 tab2から*を選択します。 読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Nginx を使用して DoNetCore を Alibaba Cloud にデプロイする方法
>>: Nodejs 配列キューと forEach アプリケーションの詳細な説明
目次JSON は次の 2 つの構造に基づいて構築されます。 2. JSON形式1. オブジェクト2....
私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...
ORM とは何ですか? ORM は Object Relational Mapping の略で、オブ...
1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...
目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...
序文ソースコードは合計で 100 行強しかありません。これを読めば、react-dnd などの成熟し...
成果を達成する実装コードhtml <div クラス = 'ラッパー'> ...
目次1. redo ログ (MySQL ストレージ エンジン InnoDB のトランザクション ログ...
mysql 1 つのテーブル列を別のテーブルにコピーする場合によっては、フィールドから別の新しいフィ...
<br />ウェブサイトのアクセス速度はウェブサイトのトラフィックに直接影響を及ぼし、ウ...
昨夜、ブラウザのレンダリングプロセスに関するエッセイを書きましたが、小さなコードで説明しただけでした...
Ubuntu 1804 への MySQL 5.7 のインストールについて詳しく紹介します。 MySQ...
1. 外部CSSファイルの基本スタイルをインポートする<link> タグを使用して外部ス...
歴史ルート履歴モードとは、HTML5 の履歴 API を使用してクライアント側ルーティングを実装する...
目次ケーススタディアカウント残高を更新する直接更新楽観的ロック方式ロックフリーソリューションキューイ...