Rumah  >  Artikel  >  pangkalan data  >  Mysql中关于触发器的操作实例详解

Mysql中关于触发器的操作实例详解

黄舟
黄舟asal
2017-09-06 14:59:281400semak imbas

触发器的操作:

1.触发器的创建:

(1).创建包含一条语句的触发器

create trigger trigger_name before|after trigger_event on table_name for each row trigger_stmt;

trigger_event表示操作事件(insert,update,delete);

trigger_stmt表示执行的语句

例子:

create trigger tri_test after insert on t1 for each row insert into t1_log values(USER(),'insert record into t1',now()); 
// 表示的是在对表t1的每一行进行插入操作之后,在表t1_log中插入一条数据,数据是values之后的内容,USER()指的是当前的用户(内置函数),now()当前时间.

(2).创建包含多条语句的触发器

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
$$

执行完之后执行 delimiter ;恢复分隔符 ;

delimiter指的是切换分隔符,因为多条语句之间是用分号隔开,所以要切换默认分隔符,执行完语句之后再切换回去.

2.查看触发器:

show triggers /G;
在information_schema数据库中查询
use information_schema;
select * from TRIGGERS where trigger_name = 'tri_test' \G;

3.触发器的修改

触发器是不能修改的,只能将原来的删除,然后重新建立新的触发器.

4.触发器的删除:

drop trigger trigger_name;


Atas ialah kandungan terperinci Mysql中关于触发器的操作实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn