検索
ホームページデータベースmysql チュートリアルMySQL トリガーを作成および削除する方法

MySQL トリガーを作成および削除する方法

1. なぜトリガーが必要なのでしょうか?

製品テーブルや在庫テーブルなど、いくつかのテーブルは相互に関連しています。製品テーブルの場合は、データの整合性を確保するために、対応する在庫テーブルも変更する必要があります。自分で手動でメンテナンスするのはさらに面倒です。
このとき、商品情報データの挿入操作が自動的に在庫データなどの挿入操作をトリガーするようにトリガーを作成することができ、忘れによるデータの損失を心配する必要はありません。在庫データを追加します。

2. トリガーの概要

  • MySQL はバージョン 5.0.2 以降のトリガーをサポートします

  • MySQL トリガーストアド プロシージャは、MySQL サーバーに埋め込まれたプログラムです

  • ##トリガーは、操作をトリガーするイベントです。これらのイベントには、挿入、削除、更新イベントが含まれます

  • トリガー プログラムが定義されている場合、データベースがこれらのステートメントを実行すると、イベントが発生したことと同等になり、トリガーが自動的にトリガーされて、対応する操作が実行されます

    # #データベース内のテーブルにデータを挿入するときにデータベース ロジックを自動的に実行する必要がある場合は、トリガーを使用してこれを実現できます。
  • 3. トリガーの作成
3.1 構文

トリガーはテーブルに作用します。たとえば、テーブル A に新しい項目を追加したいとします。トリガーの実行は記録時にトリガーされます。また、トリガーを挿入ステートメントの実行前に実行するか後に実行するかを選択する必要もあります。

各行は、イベント (挿入、更新、または削除) が実行されるたびにトリガーがトリガーされることを示します
  • CREATE TRIGGER 触发器名称 
    {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
    FOR EACH ROW 触发器执行的语句块;

    説明:

    テーブル名
  • : トリガーによって監視されるオブジェクトを示します。

  • BEFORE|AFTER
  • : トリガー時間を示します。 BEFORE はイベントの前にトリガーすることを意味し、AFTER はイベントの後にトリガーすることを意味します。

  • INSERT|UPDATE|DELETE
  • : トリガーされたイベントを示します。

  • INSERT はレコードが挿入されたときにトリガーされることを意味します;
    • UPDATE はレコードが更新されたときにトリガーされることを意味します;
    • DELETE は、レコードが削除されたときにトリガーされることを示します。
    トリガーによって実行されるステートメント ブロック
  • : 単一の SQL ステートメント、または BEGIN...END 構造で構成される複合ステートメント ブロックにすることができます。

    3.2 ケースのデモ
最初にテーブルを準備します

CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));

要件: トリガーの作成: before_insert という名前のトリガーを作成し、test_trigger データに挿入します。 table データの前に、before_insert のログ情報を test_trigger_log データ テーブルに挿入します。


MySQL トリガーを作成および削除する方法
4. ビュー トリガーMySQL トリガーを作成および削除する方法

ビュー トリガーは、データベースにすでに存在するトリガーの定義を表示します。ステータスや構文情報など。
  • 方法 1: 現在のデータベース内のすべてのトリガーの定義を表示します。
  • show triggers\G 注意,在SQLyog中,不能加上\G

MySQL トリガーを作成および削除する方法

方法 2: 現在のデータベース内のトリガーの定義を表示する
  • show create trigger 触发器名

MySQL トリガーを作成および削除する方法

方法 3 :システム ライブラリ information_schema
  • SELECT * FROM information_schema.TRIGGERS;

    5 の TRIGGERS テーブルから「salary_check_trigger」トリガー情報をクエリします。トリガーを削除します。
トリガーもデータベース オブジェクトです。トリガーと同様に、drop ステートメントを使用して

drop trigger if exists 触发器名;
を削除します

以上がMySQL トリガーを作成および削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
MySQLでビューを使用することの限界は何ですか?MySQLでビューを使用することの限界は何ですか?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)supportallsqloperations、制限、dataManipulationswithjoinsorubqueries.2)それらは、特にパフォーマンス、特にパルフェクソルラージャターセット

MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与MySQLデータベースのセキュリティ:ユーザーの追加と特権の付与May 14, 2025 am 12:09 AM

reperusermanmanagementInmysqliscialforenhancingsecurationsinginuring databaseaperation.1)usecreateusertoaddusers、指定connectionsourcewith@'localhost'or@'% '。

MySQLで使用できるトリガーの数にどのような要因がありますか?MySQLで使用できるトリガーの数にどのような要因がありますか?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers、しかしpracticalfactorsdeTerminetheireffectiveuse:1)serverconufigurationStriggermanagement; 2)complentiggersincreaseSystemload;

mysql:Blobを保管しても安全ですか?mysql:Blobを保管しても安全ですか?May 14, 2025 am 12:07 AM

はい、それはssafetostoreblobdatainmysql、butonsiderheSeCactors:1)Storagespace:blobscanconsumesificantspace.2)パフォーマンス:パフォーマンス:大規模なドゥエットブロブスメイズ階下3)backupandrecized recized recized recize

MySQL:PHP Webインターフェイスを介してユーザーを追加しますMySQL:PHP Webインターフェイスを介してユーザーを追加しますMay 14, 2025 am 12:04 AM

PHP Webインターフェイスを介してMySQLユーザーを追加すると、MySQLI拡張機能を使用できます。手順は次のとおりです。1。MySQLデータベースに接続し、MySQLI拡張機能を使用します。 2。ユーザーを作成し、CreateUserステートメントを使用し、パスワード()関数を使用してパスワードを暗号化します。 3. SQLインジェクションを防ぎ、MySQLI_REAL_ESCAPE_STRING()関数を使用してユーザー入力を処理します。 4.新しいユーザーに権限を割り当て、助成金ステートメントを使用します。

MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?MySQL:BLOBおよびその他のNO-SQLストレージ、違いは何ですか?May 13, 2025 am 12:14 AM

mysql'sblobissuitable forstoringbinarydatawithinarationaldatabase、whileenosqloptionslikemongodb、redis、andcassandraofferferulesions forunstructureddata.blobissimplerbutcanslowdowdowd withwithdata

MySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMySQLユーザーの追加:構文、オプション、セキュリティのベストプラクティスMay 13, 2025 am 12:12 AM

toaddauserinmysql、使用:createuser'username '@' host'identifidedby'password '; here'showtodoitsely:1)chosehostcarefilytoconを選択しますTrolaccess.2)setResourcelimitslikemax_queries_per_hour.3)usestrong、uniquasswords.4)endforcessl/tlsconnectionswith

MySQL:文字列データ型の一般的な間違いを回避する方法MySQL:文字列データ型の一般的な間違いを回避する方法May 13, 2025 am 12:09 AM

toavoidcommonMonmistakeswithStringDatatypesinmysql、undultingStringTypenuste、choosetherightType、andManageEncodingandCollat​​ionsEttingtingive.1)U​​secharforfixed-LengthStrings、Varcharforaible Length、AndText/Blobforlardata.2)setCurrectCherts

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません