觸發(fā)器的操作:
1.觸發(fā)器的創(chuàng)建:
(1).創(chuàng)建包含一條語(yǔ)句的觸發(fā)器
create?trigger?trigger_name?before|after?trigger_event?on?table_name?for?each?row?trigger_stmt;
trigger_event表示操作事件(insert,update,delete);
trigger_stmt表示執(zhí)行的語(yǔ)句
例子:
create?trigger?tri_test?after?insert?on?t1?for?each?row?insert?into?t1_log?values(USER(),'insert?record?into?t1',now());? //?表示的是在對(duì)表t1的每一行進(jìn)行插入操作之后,在表t1_log中插入一條數(shù)據(jù),數(shù)據(jù)是values之后的內(nèi)容,USER()指的是當(dāng)前的用戶(hù)(內(nèi)置函數(shù)),now()當(dāng)前時(shí)間.
(2).創(chuàng)建包含多條語(yǔ)句的觸發(fā)器
create?trigger?trigger_name?before|after?trigger_event?on?table_name?for?each?row?BEGIN?trigger_stmt?end;
例子:
delimiter?$$ create?trigger?tri_test after?insert?on?t1?for?each?row BEGIN insert?into?t1_log?values(USER(),'after?insert?table?t1',now()); insert?into?t1_log?values(USER(),'after?insert?table?t1',now()); END $$
執(zhí)行完之后執(zhí)行 delimiter ;恢復(fù)分隔符 ;
delimiter指的是切換分隔符,因?yàn)槎鄺l語(yǔ)句之間是用分號(hào)隔開(kāi),所以要切換默認(rèn)分隔符,執(zhí)行完語(yǔ)句之后再切換回去.
2.查看觸發(fā)器:
show?triggers?/G; 在information_schema數(shù)據(jù)庫(kù)中查詢(xún) use?information_schema; select?*?from?TRIGGERS?where?trigger_name?=?'tri_test'?G;
3.觸發(fā)器的修改
觸發(fā)器是不能修改的,只能將原來(lái)的刪除,然后重新建立新的觸發(fā)器.
4.觸發(fā)器的刪除:
drop?trigger?trigger_name;
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END