1. 程式人生 > >mysql 內建功能 觸發器介紹

mysql 內建功能 觸發器介紹

 

 

 

使用觸發器可以定製使用者對錶進行【增、刪、改】操作時前後的行為,注意:沒有查詢

 

 

建立觸發器

 

 

create trigger 觸發器的名字 之前(before)或者之後(after)  行為(insert、delete、update) on 表名 for each row

begin (開始)

  觸發器程式碼,sql語句

end (結束)

 

 

 

before 插入前

 

after 插入後

 

before 在insert 行為之前去觸發 begin 裡面sql語句

after 在insert 行為之後去觸發begin 裡面sql語句

 

 

# 插入前
CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 插入後
CREATE TRIGGER tri_after_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW
BEGIN
    ...
END

 

before insert

針對這張表每一行插入記錄之前 我都會觸發這個觸發器

after inser

針對這張表每一行插入記錄之後 我都會觸發這個觸發器

 

 

before delete 針對這張表每刪除一行記錄之前 都會觸發 begin裡面sql語句

after delete 針對這張表每刪除一行記錄之後 都會觸發 begin裡面sql語句

# 刪除前
CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 刪除後
CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE ON tb1 FOR
EACH ROW BEGIN ... END

 

 

# 更新前
CREATE TRIGGER tri_before_update_tb1 BEFORE UPDATE ON tb1 FOR EACH ROW
BEGIN
    ...
END

# 更新後
CREATE TRIGGER tri_after_update_tb1 AFTER UPDATE ON tb1 FOR EACH ROW
BEGIN
    ...
END

 

 

 

 

二 使用觸發器

觸發器無法由使用者直接呼叫,而知由於對錶的【增/刪/改】操作被動引發的

 

刪除觸發器

drop trigger tri_after_insert_cmd;