MySQL 触发器简单实例_MySQL

Jun 01, 2016 pm 01:44 PM
引き金

bitsCN.com

 
~~语法~~
CREATE TRIGGER   --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.
{ BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后。
{ INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
ON   --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。
FOR EACH ROW  --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
  --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。

--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。
~~实例~~
example1:
创建表tab1

DROP TABLE IF EXISTS tab1; 
CREATE TABLE tab1( 
    tab1_id varchar(11) 
); 


创建表tab2

DROP TABLE IF EXISTS tab2; 
CREATE TABLE tab2( 
    tab2_id varchar(11) 
); 


创建触发器:t_afterinsert_on_tab1
作用:增加tab1表记录后自动将记录增加到tab2表中

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1; 
CREATE TRIGGER t_afterinsert_on_tab1 
AFTER INSERT ON tab1 
FOR EACH ROW 
BEGIN 
     insert into tab2(tab2_id) values(new.tab1_id); 
END; 


测试一下

INSERT INTO tab1(tab1_id) values('0001'); 
看看结果
1
SELECT * FROM tab1;
2
SELECT * FROM tab2;
example2:
创建触发器:t_afterdelete_on_tab1
作用:删除tab1表记录后自动将tab2表中对应的记录删去

DROP TRIGGER IF EXISTS t_afterdelete_on_tab1; 
CREATE TRIGGER t_afterdelete_on_tab1 
AFTER DELETE ON tab1 
FOR EACH ROW 
BEGIN 
      delete from tab2 where tab2_id=old.tab1_id; 
END; 

测试一下

DELETE FROM tab1 WHERE tab1_id='0001'; 


看看结果

摘自 雷霆万钧

bitsCN.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

パワーポイントでクリックするまでテキストを非表示にする方法 パワーポイントでクリックするまでテキストを非表示にする方法 Apr 14, 2023 pm 04:40 PM

PowerPoint でクリックする前にテキストを非表示にする方法 PowerPoint スライド上の任意の場所をクリックしたときにテキストを表示したい場合、設定はすばやく簡単です。 PowerPoint でボタンをクリックする前にテキストを非表示にするには: PowerPoint ドキュメントを開き、[挿入] メニューをクリックします。 「新しいスライド」をクリックします。 [空白] または他のプリセットのいずれかを選択します。 [挿入] メニューで [テキスト ボックス] をクリックします。テキスト ボックスをスライド上にドラッグします。テキストボックスをクリックして、あなたの名前を入力してください

Oracleでトリガーを追加する方法 Oracleでトリガーを追加する方法 Dec 12, 2023 am 10:17 AM

Oracle データベースでは、CREATE TRIGGER ステートメントを使用してトリガーを追加できます。トリガーは、データベース テーブルに 1 つ以上のイベントを定義し、イベントの発生時に対応するアクションを自動的に実行できるデータベース オブジェクトです。

PHP を使用して MySQL にトリガーを記述する方法 PHP を使用して MySQL にトリガーを記述する方法 Sep 21, 2023 am 08:16 AM

PHP を使用して MySQL にトリガーを記述する方法 MySQL は一般的に使用されるリレーショナル データベース管理システムであり、PHP は一般的なサーバーサイド スクリプト言語です。 PHP を使用して MySQL にトリガーを記述すると、データベース操作の自動化を実現できます。この記事では、PHP を使用して MySQL トリガーを作成する方法を紹介し、具体的なコード例を示します。開始する前に、MySQL と PHP がインストールされ、対応するデータベース テーブルが作成されていることを確認してください。 1. PHPファイルとデータを作成する

mysqlトリガーはどのレベルですか? mysqlトリガーはどのレベルですか? Mar 30, 2023 pm 08:05 PM

MySQL トリガーは行レベルです。 SQL 標準によれば、トリガーは次の 2 つのタイプに分類できます: 1. 行レベルのトリガー、変更されたデータ行ごとに 1 回アクティブ化されます。ステートメントが 100 行のデータを挿入すると、トリガーは 100 回呼び出されます。 . ステートメントレベルのトリガー トリガーはステートメントごとに 1 回アクティブ化され、100 行のデータを挿入するステートメントはトリガーを 1 回だけ呼び出します。 MySQL は行レベルのトリガーのみをサポートし、プリペアドステートメントレベルのトリガーはサポートしません。

Python を使用して MySQL でカスタム トリガーを作成する方法 Python を使用して MySQL でカスタム トリガーを作成する方法 Sep 20, 2023 am 11:04 AM

Python を使用して MySQL でカスタム トリガーを作成する方法 トリガーは、データベース内のテーブルに対して自動的に実行される操作を定義できる MySQL の強力な機能です。 Python は、MySQL と簡単に対話できる、簡潔で強力なプログラミング言語です。この記事では、Python を使用してカスタム トリガーを作成する方法を紹介し、具体的なコード例を示します。まず、PyMySQL ライブラリをインストールしてインポートする必要があります。これは、Python が MySQL データベースを操作する方法です。

MySQL トリガーを使用してデータの自動アーカイブを実装する方法 MySQL トリガーを使用してデータの自動アーカイブを実装する方法 Aug 02, 2023 am 10:37 AM

MySQL トリガーを使用してデータの自動アーカイブを実装する方法 はじめに: 最新のデータ管理の分野では、データの自動アーカイブとクリーニングは重要かつ一般的な要件です。データ量が増加すると、完全な履歴データを保持するとストレージ リソースが過剰に占有され、クエリのパフォーマンスが低下します。 MySQL トリガーは、この要件を達成する効果的な方法を提供します。この記事では、MySQL トリガーを使用してデータの自動アーカイブを実現する方法を紹介します。 1. MySQL トリガーとは何ですか? MySQL トリガーは特別な種類のメモリです。

PHP を使用して MySQL でカスタム トリガーとストアド プロシージャを作成する方法 PHP を使用して MySQL でカスタム トリガーとストアド プロシージャを作成する方法 Sep 20, 2023 am 11:25 AM

PHP を使用して MySQL でカスタム トリガーとストアド プロシージャを作成する方法 はじめに: アプリケーションを開発するとき、多くの場合、データの挿入、更新、削除など、データベース レベルでいくつかの操作を実行する必要があります。 MySQL は広く使用されているリレーショナル データベース管理システムであり、PHP は一般的なサーバー側スクリプト言語です。この記事では、PHP を使用して MySQL でカスタム トリガーとストアド プロシージャを作成する方法を紹介し、具体的なコード例を示します。 1. トリガーおよびストアド プロシージャ トリガー (Trigg

C# を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法 C# を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法 Sep 20, 2023 pm 12:04 PM

C# を使用して MySQL でカスタム ストアド プロシージャ、トリガー、関数を作成する方法 MySQL は広く使用されているオープン ソースのリレーショナル データベース管理システムであり、C# はデータベースとの対話を必要とする開発タスク用の強力なプログラミング言語です。選択肢。 MySQL では、C# を使用してカスタム ストアド プロシージャ、トリガー、関数を作成し、より柔軟で強力なデータベース操作を実現できます。この記事では、C# を使用して記述および実行する方法について説明します。

See all articles