この記事では、MySQL トリガーを作成して使用する方法について説明します。ご参考までに、詳細は以下の通りです。 トリガーとは何か
トリガーを作成する文法:
MySQL 作成構文のキーワードの説明:
Mysql トリガーの使用例: 1. MySQL トリガー Insert は同じテーブルの更新をトリガーします。以下にテーブル「 tmp1 」があり、tmp1 テーブルには 2 つの整数フィールド n1、n2 があります。レコードを tmp に挿入するときに、トリガーを使用してn2フィールドの値をn1フィールドの値の5倍に自動的に設定する必要があります。 -- テスト テーブルを作成します (存在する場合はテーブルを削除します tmp1)。 テーブル tmp1 (n1 int、n2 int) を作成します。 -- トリガー DELIMITER $ を作成 存在する場合はトリガーを削除する tmp1_insert$ トリガー tmp1_insert を作成する tmp1 に挿入する前 各行ごとに 始める new.n2 = new.n1*5 と設定します。 終了$ 区切り文字 ; テストトリガー更新効果: mysql> tmp1(n1) の値(18) を挿入します。 クエリは正常、1 行が影響を受けました (0.01 秒) mysql> tmp1(n1) の値(99) を挿入します。 クエリは正常、1 行が影響を受けました (0.00 秒) mysql> tmp1 から * を選択します。 +------+------+ | n1 | n2 | +------+------+ | 18 | 90 | | 99 | 495 | +------+------+ セット内の 2 行 (0.00 秒) 2. MySQL トリガー更新トリガーは別のテーブルを更新します。以下に、同じフィールド名を持つ 2 つのテーブル tmp1 と tmp2 があります。トリガーを使用してテーブルの名前を更新すると、別のテーブルの名前も更新されます。 -- テスト テーブルを作成し、テスト データを挿入します (存在する場合はテーブルを削除します tmp1)。 tmp2 が存在する場合はテーブルを削除します。 テーブル tmp1 (id int、name varchar(128)) を作成します。デフォルトの文字セットは 'utf8' です。 テーブル tmp2 (fid int、name varchar(128)) を作成します。デフォルトの文字セットは 'utf8' です。 tmp1 に値(1, '爱E族')を挿入します。 tmp2 に値(1, '爱E族')を挿入します。 -- トリガー DELIMITER $ を作成 tmp1_update$ が存在する場合はトリガーを削除します トリガー tmp1_update を作成する tmp1 の更新後 各行ごとに 始める tmp2 を更新し、name=new.name、fid=new.id を設定します。 終了$ 区切り文字 ; テストトリガー更新効果: mysql> tmp1 から * を選択します。 +------+---------+ | ID | 名前 | +------+---------+ | 1 | ラブE族 | +------+---------+ セット内の 1 行 (0.00 秒) mysql> tmp2 から * を選択します。 +------+---------+ | fid | 名前 | +------+---------+ | 1 | ラブE族 | +------+---------+ セット内の 1 行 (0.00 秒) mysql> tmp1 を更新し、name='aiezu.com' を設定し、id=1 にします。 クエリは正常、1 行が影響を受けました (0.00 秒) 一致した行: 1 変更された行: 1 警告: 0 mysql> tmp1 から * を選択します。 +------+------------+ | ID | 名前 | +------+------------+ | 1 | aiezu.com | +------+------------+ セット内の 1 行 (0.00 秒) mysql> tmp2 から * を選択します。 +------+------------+ | fid | 名前 | +------+------------+ | 1 | aiezu.com | +------+------------+ セット内の 1 行 (0.00 秒) MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Docker でリモートの安全なアクセスを有効にする方法の詳細なグラフィック チュートリアル
>>: Vueはショッピングカート決済機能をシミュレートします
序文以前、ローディングスタイルのコンポーネントを作成しました。コードの再利用性を実現するために、この...
目次導入アイデアID配列インデックスのマッピング関係を確立するツリー構造の構築原理要約する導入組織階...
pingスキャンをオフにする(役に立たないが)まずルートに切り替えるエコー 1 > /proc...
【序文】当プロジェクトの SMS 機能は、第三者に接続することです。第三者からの元の受信確認要求は ...
目次1. JavaScriptはシングルスレッドです1. 同期タスク2. 非同期タスク2. タスクキ...
目次1. はじめに1. 基本レイアウト2. 写真を自動的に切り替える3. コンテンツを追加する4. ...
まずは投稿する前に! 「I Want to Study on My Own!」に改めて感謝します。た...
1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...
1. 構造部品1. フォームには、入力コントロール、標準フォーム フィールド、ラベル、ドロップダウン...
WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...
本日は、色彩の応用に関する優れた事例を 30 件集めて、皆さんにご紹介したいと思います。これらの事例...
目次1. 繰り返し宣言1.1 変数1.2 しましょう1.3 定数2. 可変プロモーション2.1 変数...
簡単に言うと、srcは「このリソースをロードしたい」という意味で、hrefは「このリソースに関連付け...
この記事では、参考までにシンプルなHTMLショッピング数量アプレットを紹介します。具体的な内容は次の...
前回の「最もシンプルなスイッチを実現するCSS」のように、HTML5とCSS3でほとんどの機能をすで...