mysql觸發器怎麼用 MySQL之如何使用觸發器

2021-10-17 22:51:08 字數 2023 閱讀 5255

觸發器:它是乙個特殊的儲存過程,它是mysql在insert、update、delete的時候執行,自動執行,不能直接呼叫。

它包含四個要素:

監視地點(table)

監視事件(insert/update/delete)

觸發時間(after/before)

觸發事件(insert/update/delete)

觸發器語法:

create trigger trigger_name

after/before insert/update/delete on tb_name

for each row

begin

sql 語句:(觸發的語句一句或者多句)

end;

insert into goods (goods_name,goods_num)values("手機",20),("電腦",30),("單反",20);

實現購買任意商品,對應的商品數量相應的減少:

分析:監視地點:order 表

監視事件:insert操作

觸發事件:update操作

create trigger t1

after insert on `order`

for each row

begin

update goods set goods_num=goods_num-new.order_num where goods_id=new.goods_id;

end;

如 我們購買5個手機:

insert into order (goods_id,order_num) values(1,5);

注:對於insert 而言 新增的行使用new 來表示,行中的每一列的值用 new.列名來表示

這時我們會發現goods表、order表的資料如下:

2.撤銷訂單:

分析:監視地點:order 表

監視事件:delete操作

觸發事件:update操作

drop trigger if exists t1;

create trigger t1

after delete on `order`

for each row

begin

update goods set goods_num=goods_num+old.order_num where goods_id=old.goods_id;

end;

現在要取消剛才買的5個手機的訂單:

delete from order where order_id=1;

注:對於delete而言 刪除的行使用old 來表示, 行中的每一列的值用 old.列名來表示

這時我們會發現goods表、order表的資料發生了如下的變化:

修改訂單(包括修改購買的數量以及購買的商品)

分兩步:

撤銷訂單;(delete);

新增訂單:(insert);

drop trigger if exists t1;

create trigger t1

after update on `order`

for each row

begin

#撤銷訂單

update goods set goods_num=goods_num+old.order_num where goods_id=old.goods_id;

#新增訂單

update goods set goods_num=goods_num-new.order_num where goods_id=new.goods_id;

end;

update `order` set goods_id=2,order_num=4 where order_id=2;

現在看下兩張表的變化:

[![mysql之如何使用觸發器](

注意:如果在執行建立觸發器的時候語句報錯

那在 語句之前新增

delimiter $$

create trigger t1

after insert on order

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

my sql 觸發器 mysql建立觸發器

首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...

my sql 觸發器 MySQL檢視觸發器

檢視觸發器是指檢視資料庫中已經存在的觸發器的定義 狀態和語法資訊等。mysql 中檢視觸發器的方法包括 show triggers 語句和查詢 information schema 資料庫下的 triggers 資料表等。本節將詳細介紹這兩種檢視觸發器的方法。show triggers語句檢視觸發器...