MySQL创建和使用触发器(mysql一个触发器)

MySQL 创建和使用触发器

MySQL的触发器是用来在我们执行一个特定的SQL语句时自动触发另一条SQL语句的技术,这可以让你在完成特定的操作,比如更新、插入、删除的时候触发一个或多个其它的SQL语句(一般用于实行数据一致性或者完整性)。

MySQL中一共有三种触发器,分别是BEFORE触发器,AFTER触发器和INSTEAD OF触发器,它们是根据在什么时候触发SQL语句来划分的,它们都由TRIGGER关键字开始,并以END关键字结束。

要创建一个触发器,首先我们需要以下信息

* 触发器名:任意一个容易记忆的名字

* 执行时间:BEFORE,AFTER,INSTEAD OF

* 触发事件:INSERT,UPDATE,DELETE 或者 CREATE,ALTER,DROP

* 詳細的SQL语句

示例:我们需要在更新学生表中的某一条记录时候,向另一个操作日志表中插入一条数据,这时候可以使用一个AFTER类型的触发器来实现。

create trigger `on_update_student_table` AFTER UPDATE on `student`

for each row

begin

INSERT INTO `operation_log`

SET

`detail` = CONCAT(‘Student Name ‘, NEW.name, ‘\’s grade changed from ‘, OLD.grade, ‘to’, NEW.grade);

end;

创建一个触发器之后,就可以在我们更新表中的数据的时候触发这个触发器。每当我们更新一条记录的时候,触发器就会自动执行我们设定的SQL语句,记录操作日志。

MySQL触发器可以很有效地保证数据的一致性和完整性,给我们带来很多方便。使用触发器可以让我们写出更加复杂的逻辑,而且不会影响到原来的SQL语句,非常方便和实用。


数据运维技术 » MySQL创建和使用触发器(mysql一个触发器)