mysql觸發器的概述和建立案例

2021-08-11 01:37:53 字數 2013 閱讀 4679

觸發器

1:概述(四要素)

1:觸發器: trigger 事先為某張表繫結好一段**,當表中的某些內容發生改變的時候(增刪改)系統會自動觸發**執行

2:觸發器是一類特殊的事務 ,可以監視某種資料操作(insert/update/delete),並觸發相關操作(insert/update/delete)。

3:觸發器四要素

2:觸發器的常用操作

1:建立觸發器

1:mysql高階結構中,沒有小括號,都是使用對應的字元符號代替

2:語法

create trigger 觸發器名字 觸發時間 事件型別 on 表名 for each row 執行語句

begin 代表左大括號 開始

裡面都是觸發器內容,每行內容必須使用語句結束符:分號

end 代表右大括號 結束

--語句結束符

自定義符號

--將臨時修改的修正過來

delimiter ;

delimiter 自定義符號:後續**中只有碰到自定義符號才結束

3:案例demo

1:建立商品表

create table t_goods(

id int primary key auto_increment,

name varchar(20) not null,

price decimal(10,2) default 1 comment '預設一元',

inv int comment '庫存數量') charset utf8;

插入資料

insert into t_goods(id,name,price,inv) values(null,'華為榮耀5',1099,200);

insert into t_goods(id,name,price,inv) values(null,'華為榮耀6',2099,256);

insert into t_goods(id,name,price,inv) values(null,'華為榮耀8',3129,300);

insert into t_goods(id,name,price,inv) values(null,'華為榮耀9',4566,1506);

insert into t_goods(id,name,price,inv) values(null,'尼康520',15666,2506);

insert into t_goods(id,name,price,inv) values(null,'瑞虎巡洋艦',268900,3500);

2:建立訂單表

create table t_order(

id int primary key auto_increment,

g_id int not null comment '商品id',

g_nummer int comment '商品數量'

3:觸發器

訂單生產乙個,商品庫存就減少一件對應的商品數量

my sql 觸發器 mysql建立觸發器

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

MySQL觸發器的概述及建立講解

觸發器trigger 事先為某張表繫結好一段 當表中的某些內容發生改變的時候 增刪改 系統自動觸發 執行。事件型別 增insert,刪delete,改update三種型別。觸發時間 前before,後after。觸發物件 表中的每一條記錄 行 在一張表中,同樣觸發時間同樣型別的觸發器只能有乙個,所以...

mysql建立觸發器

注 觸發器中不能呼叫儲存過程,觸發器功能應盡量簡單 use d database name 切換到資料庫 set names utf8 drop if exists when update can use drop trigger if exists tr update bind sno delim...