Mysql触发器

2012年4月2日 发表评论 阅读评论

从5.0.2开始支持触发器。

创建触发器的语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

tbl_name:触发器必须建在数据库中的表上,该表必须是永久表,不能在临时表或者视图上面建触发器。
trigger_name:触发器的名字,这个名字在删除触发器的时候可以指定。oracle建触发器的时候不需要指定触发器的名字。
trigger_time:BEFORT AFTER触发时机。
trigger_event:INSERT,UPDATE,DELETE触发事件。
trigger_stmt:触发器内容。

触发器中不能通过表名直接访问本表,需要通过new.col_name和old.col_name访问。
触发器中不能调用存储过程。
触发器中不能使用语法开始或者结束一个进程,例如:START TRANSACTION,COMMIT,ROLLBACK;
在BEFORE触发器中,AUTO_INCREMENT列的NEW值是0,这个时候还取不到要插入的值呢。

创建触发器需要SUPER权限。

删除触发器:
DROP TRIGGER tbl_name.trigger_name


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/387.html

  1. 本文目前尚无任何评论.