《MYSQL觸發器》要點:
本文介紹了MYSQL觸發器,希望對您有用。如果有疑問,可以聯系我們。
觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸頒發上的觸發器的執行.
所有觸發器都保留在information_schema.trigger表中.
格式:
create trigger 觸發器名字
before/after
insert/update/delete/load data/replace ON 樹立觸發器的表
FOR EACH ROW
觸發器法式體
假設體系中有兩個表:
班級表 class(班級號 classID, 班內學生數 stu_num)
學生表 student(學號 stuID, 所屬班級號 classID)
要創立觸發器來使班級表中的班內學生數隨著學生的添加自動更新
DELIMITER $
create trigger tri_stu_Insert after insert
on student for each row
begin
declare c int;
set num = (select stu_num from class where classID=new.classID);
update class set stu_num = num + 1 where classID = new.classID;
end$
DELIMITER ;
在 INSERT 型觸發器中,NEW 用來表現將要(BEFORE)或已經(AFTER)插入的新數據;
在 UPDATE 型觸發器中,OLD 用來表現將要或已經被修改的原數據,NEW 用來表現將要或已經修改為的新數據;
在 DELETE 型觸發器中,OLD 用來表現將要或已經被刪除的原數據;
show trigger [from DBname] 查看觸發器
drop trigger [if exists][DBname.] trigger_name刪除了觸發器
歡迎參與《MYSQL觸發器》討論,分享您的想法,維易PHP學院為您提供專業教程。