標籤:
--你必須擁有相當大的許可權才能建立觸發器(CREATE TRIGGER),如果你已經是Root使用者,那麼就足夠了。這跟SQL的標準有所不同。
CREATE TRIGGER文法
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
觸發程式與命名為tbl_name的表相關。
trigger_time是觸發程式的動作時間。它可以是BEFORE或AFTER,以指明觸發程式是在啟用它的語句之前或之後觸發。
trigger_event指明了啟用觸發程式的語句的類型。trigger_event可以是下述值之一:
· INSERT:將新行插入表時啟用觸發程式
· UPDATE:更改某一行時啟用觸發程式
· DELETE:從表中刪除某一行時啟用觸發程式
trigger_stmt是當觸發程式啟用時執行的語句。如果你打算執行多個語句,可使用BEGIN
... END複合陳述式結構。
mysql觸發器是mysql資料庫的重要概念,下面為您介紹三個mysql觸發器的例子,供您參考,希望對您學習mysql觸發器方面能有所協助。
樣本一 delimiter // create trigger InsertUser before insert on user for each row Begin insert into user_group(uid,gid) values(new.uid,‘group4444444444‘); end;// delimiter ; 樣本二 delimiter // create trigger InsertUser before insert on user for each row Begin IF new.Type=2 then insert into user_group(uid,gid) values(new.uid,‘group4444444444‘); else insert into user_group(uid,gid) values(new.uid,‘group55555555555‘) END IF; end;// delimiter ; 樣本三: delimiter // create trigger InsertUser before insert on user for each row Begin IF new.type=1 then insert into user_group(uid,gid) values(new.uid,‘578d3369633b47bd9c1fe8bf905cbfb1‘); END IF; IF new.type=2 then insert into user_group(uid,gid) values(new.uid,‘387bcd57fc5a4c3c9de83ee210fef661‘); END IF; end;// delimiter ;
MySQL 觸發器結構及三個案例demo