この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、詳細は以下の通りです。 例: テーブルの追加、削除、変更操作を記録するトリガーを作成する // ユーザー テーブルを作成します。 `user` が存在する場合はテーブルを削除します。 テーブル `user` を作成します ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `account` varchar(255) デフォルト NULL, `name` varchar(255) デフォルト NULL, `address` varchar(255) デフォルト NULL, 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; // ユーザー テーブル操作の履歴テーブルを作成します。DROP TABLE IF EXISTS `user_history`; テーブル `user_history` を作成します ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_id` bigint(20) NULLではない、 `operatetype` varchar(200) NOT NULL, `operatetime` 日時 NOT NULL、 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; DELIMITER: 入力ターミネータを変更します。デフォルトでは、入力ターミネータはセミコロン; です。ここでは、2 つのセミコロン;; に変更します。この目的は、デフォルトのセミコロン ターミネータに遭遇したときに自動的に実行するのではなく、セミコロンを含む複数のステートメントをカプセル化し、すべて入力された後にまとめて実行することです。
入れる: `tri_insert_user` が存在する場合はトリガーを削除します。 区切り文字 ;; 行ごとに `user` の INSERT 後に `tri_insert_user` トリガーを作成します user_history(user_id, operatype, operatime) に INSERT INTO VALUES (new.id, 'ユーザーを追加', now()); 終わり ;; 区切り文字 ; アップデート: `tri_update_user` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「user」の更新後に「tri_update_user」トリガーを作成します。 INSERT INTO user_history(user_id,operatetype,operatetime) VALUES (new.id, 'ユーザーを更新する', now()); 終わり ;; 区切り文字 ; 消去: `tri_delete_user` が存在する場合はトリガーを削除します。 区切り文字 ;; 各行の「user」の削除後に「tri_delete_user」トリガーを作成します。 INSERT INTO user_history(user_id, operatype, operatime) VALUES (old.id, 'ユーザーを削除', now()); 終わり ;; 区切り文字 ; MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
<<: Alibaba Cloud Server にセキュリティ グループ ルールを追加する詳細な説明 (グラフィック チュートリアル)
a タグが新しいページを開くかどうか: (1)百度百科事典:ヘッダーが異なる場合は新しいページが開き...
1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...
方法1: .bashrcまたは.bash_profileファイルを変更するこれは、ホーム ディレクト...
Nginxを使用する目的Alibaba Cloud ECS クラウド サーバーを使用して、まずは著者...
目次Object.defineProperty メソッドのレビューデータブローカーとは何ですか? V...
1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...
1. MySQL サービスが起動しているかどうかを確認します。起動している場合は、MySQL サービ...
1. Flashプラグインパッケージのダウンロードアドレス: https://get.adobe.c...
CentOS でカーネル モジュールを自動的にロードするには、/etc/sysconfig/modu...
今日はフロートのクリアについてお話します。フロートのクリアについてお話する前に、フロートとは何かを理...
目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...
目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...
目次1. redo ログ (MySQL ストレージ エンジン InnoDB のトランザクション ログ...
Dockerインストール後のネットワークタイプ [root@insure updev]# docke...
1. Vueプロジェクトのパッケージ化開発されたvueプロジェクトに次の名前を入力し、パッケージ化し...