この記事では、例を使用して 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 にセキュリティ グループ ルールを追加する詳細な説明 (グラフィック チュートリアル)
Dockerはmysqlをインストールします docker search mysql 検索 dock...
良い画像素材のウェブサイトを見つけるのは難しいです。特に無料です。良い写真には非常に目を引く視覚効果...
01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...
目次序文sql_mode の説明最も重要なオプションすべてのオプション要約する序文前回の記事「MyS...
目次コードを見せてください効果をテストする効果追伸別のアプローチコードを見せてください HTMLEl...
目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...
目次シーン紹介深い応答性トリガーゲッターDep.targetを探すゲッターセッター要約するシーン紹介...
私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...
リンクを使用する必要がある場合もありますが、リンクする必要はありません。onclick イベントを処...
タブバー: 異なるタブをクリックすると異なるコンテンツが表示され、クリックしたタブのスタイルが変更さ...
目次SQL実行順序ビンログ何ですかいつ生産されるのか何の役に立つんだディスクはいつドロップされますか...
この記事では、WeChatアプレットのウォーターフォールフローページングスクロールロードを実装するた...
この記事の例では、じゃんけんゲームを実装するためのJSの具体的なコードを参考までに共有しています。具...
目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...
docker アタッチコマンドdocker attach [options] 容器実行中のコンテナに...