この記事では、例を使用して 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 にセキュリティ グループ ルールを追加する詳細な説明 (グラフィック チュートリアル)
今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...
1: SVNをインストールする yum インストール -y サブバージョン2. 倉庫を作る1: 倉庫...
1. 基本的な使い方 <!DOCTYPE html> <html lang=&qu...
序文これは古くからの要望ですが、オンラインで解決策を探している人はまだ多く、特に検索結果の上位にラン...
MySQL 8.0.16 以降では、パスワードの有効期限ポリシーを設定できます。今日は、この小さな知...
美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...
ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...
目次1. Reactの基本的な理解1. はじめに2. Reactの特徴3. Reactが効率的な理由...
序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...
序文PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言...
目次背景質問問題分析と解決策新たな問題問題分析と解決策背景node-schedule スケジュール ...
序文プロジェクトのニーズにより、ストレージ フィールドは JSON 形式で保存されます。プロジェクト...
目次序文インタフェースタイプ付録: インターフェースとタイプの違い要約する序文インターフェースとタイ...
チェックボックスやラジオボタンの使用を含むコードをコピーコードは次のとおりです。 <!DOCT...
1. HTMLページの文字セットを指定する2つの方法方法1: <メタ文字セット="u...