この記事では、MySQL トリガーの定義と使用方法について説明します。ご参考までに、詳細は以下の通りです。 文法 CREATE TRIGGER トリガー名- トリガーには、最大 64 文字の名前が必要です。名前の後に区切り文字を続けることもできます。名前は、MySQL の他のオブジェクトとほぼ同じように付けられます。 例の準備 -- テーブル tab1 を作成する tab1が存在する場合はテーブルを削除します。 テーブルを作成 tab1( tab1_id varchar(11) ); -- テーブル tab2 を作成する tab2が存在する場合はテーブルを削除します。 テーブル tab2 を作成します ( tab2_id varchar(11) ); 例1: 新しいエントリを追加すると、別のテーブルが追加されます -- トリガーを作成: t_afterinsert_on_tab1 -- 効果: tab1 テーブルにレコードを追加した後、tab2 テーブルにレコードを自動的に追加します。DROP TRIGGER IF EXISTS t_afterinsert_on_tab1; トリガー t_afterinsert_on_tab1 を作成する タブ1に挿入後 各行ごとに 始める tab2(tab2_id) に値(new.tab1_id) を挿入します。 終わり; -- テスト INSERT INTO tab1(tab1_id) values('0001'); -- 結果を確認します SELECT * FROM tab1; タブ2から*を選択 例 2: 1 つのエントリを削除すると、別のテーブルも削除される -- トリガーを作成: t_afterdelete_on_tab1 -- 効果: tab1 テーブルのレコードを削除すると、tab2 テーブルの対応するレコードが自動的に削除されます。DROP TRIGGER IF EXISTS t_afterdelete_on_tab1; トリガー t_afterdelete_on_tab1 を作成する タブ1の削除後 各行ごとに 始める tab2_id=old.tab1_id の tab2 から削除します。 終わり; -- テスト DELETE FROM tab1 WHERE tab1_id='0001'; -- 結果を確認します SELECT * FROM tab1; tab2から*を選択します。 例3: 1つの行を更新して別のテーブルの更新をトリガーする -- トリガーを作成: t_afterupdate_on_tab1 -- 効果: tab1 テーブルのレコードを変更した後、tab2 テーブルの対応するレコードを自動的に更新します。DROP TRIGGER IF EXISTS t_afterupdate_on_tab1; トリガー t_afterupdate_on_tab1 を作成する tab1 の更新後 各行ごとに 始める tab2 を更新します。tab2_id=new.tab1_id を設定します。tab2_id=old.tab1_id; 終わり; -- テスト更新 tab1 set tab1_id='0002' WHERE tab1_id='0001'; -- 結果を確認します SELECT * FROM tab1; tab2から*を選択します。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: nginx httpモジュールのデータ保存構造の概要
>>: 一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録
目次文章1. 機械を準備する2. Dockerをインストールする1. 依存パッケージをインストールす...
この記事では、簡単なショッピングフォームを実装するためのJavaScriptの具体的なコードを参考ま...
まずは効果を見てみましょう:この効果は非常に華やかに見えますが、原理は複雑ではありません。1 枚の花...
目次スロークエリの基礎: データ取得の最適化データベースから不要なデータが要求されていないか確認する...
HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...
必要な項目をループして検証するために、クエリ フォームのいくつかのプロパティを実装したいと考えていま...
CentOS 7が正常にインストールされると、OpenJDKのJREがデフォルトでインストールされて...
目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...
序文比較的複雑な大規模システムでは、複雑なロジックで処理する必要があるオブジェクトまたはデータ フロ...
次のケースでは、これまでに学んだプロトタイプチェーンの知識ポイントを確認します。 // コンストラク...
LinuxホストにSSHサーバーをインストールするには、次のターミナルコマンドを使用します: sud...
1. MySQLをダウンロードする1. MySQLの公式ウェブサイトにログインし、64ビットシステム...
MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...
Ubuntu に jdk をインストールする: [リンク] UbuntuにEclipseをインストー...
MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...