mysql觸發器和儲存過程一樣,是嵌入到mysql的一段程式,觸發器是由事件來觸發的,這些事件包括,insert,update,delete,不包括select
建立觸發器
create trigger name,time,event on table_name for each row trigger_stmt
例如create trigger ins_sum before insert on account for each row set @sum = @sum + new.amount
有多個執行語句的觸發器
create table test1(a1 int);
create table test2(a2 int);
create table test3(a3 int not null auto_increment primary key);
create table test4(
a4 int not null auto_increment primary key,
b4 int default 0
delimiter //
create trigger testref before insert on test1
for each row begin
insert into test2 set a2 = new.a1;
delete from test3 where a3 = new.a1;
update test4 set b4 = b4 + 1 where a4 = new.a1;
enddelimiter ;
insert into test3(a3) values (null), (null), (null), (null), (null), (null),(null), (null), (null), (null), (null), (null);
insert into test4(a4) values (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);
//開始測試
insert into test1 values (1), (3), (1), (7), (1), (8), (4), (4);
檢視觸發器
show triggers \g; //檢視所有
select * from information_schema.triggers where trigger_name = 'testref';
刪除觸發器
drop trigger testref;
綜合案例
步驟1:建立persons表
create table persons (name varchar(40), num int);
步驟2:建立乙個銷售額表sales
create table sales (name varchar(40), sum int);
步驟3:建立乙個觸發器
create trigger num_sum after insert on persons
for each row insert into sales values (new.name,7*new.num);
步驟4:向persons表中插入記錄
insert into persons values ('xiaoxiao',20),('xiaohua',69);
select * from persons;
select *from sales;
觸發器 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語句檢視觸發器...