觸發器實現原理


-----觸發器實現原理------

觸發器:triiger 實現為某張表綁定好一段代碼,當表中的默寫內容發生改變的時候(增刪查改)系統會自動觸發代碼,執行

觸發器的基本要素:事件類型,觸發時間 觸發對象

事件類型:增刪改 insert delete update
觸發時間:前后 before 和 after
觸發對象:表中的每一條記錄(行)

一張表中只能有一種觸發時間的一種類型的觸發器,最多一張表能有6個觸發器

觸發器創建事例:


首先創建表


①商品表:
create table my_goods(
id int primary key auto_increment,
name varchar(20) not null,
price decimal(10,2) default 1,
inv int comment '庫存數量')charset utf8;

②添加數據
insert into my_goods values(null,'iphone8',5399,100),(null,'vivoX20',8999,100);

③訂單表:
create table my_order(
id int primary key auto_increment,
g_id int not null comment '商品id',
g_number int comment '商品數量'
)charset utf8;


命令行運行建表

--觸發器:訂單生成一個,商品庫存減少一個

--臨時修改語句結束符
delimiter $$

create triiger after_order after insert on my_order for each row

begin --觸發器內容

update my_goods set inv=inv-1 where id=2;

end --觸發器結束

$$

delimiter ;


命令行運行 創建觸發器成功 =    =

              =

查看觸發器:

show triggers;
show triggers\G;

 

查看觸發器創建語句:

show create trigger 觸發器名稱(eg:after_order\G)

注:所有的觸發器都存儲在一張表中 information_shema.triggers

select * from information_shema.trigger\G

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM