目录
一、触发器定义
触发器是一种机制,当某个事物满足某个条件,触发某个功能
回忆一下事件绑定的过程:前端js/jquery
| js(javascript) | jquery | |
| 1.捕获事件 | document.getElementById document.getElementByName document.getElementByTag docuemnt.getElementByTagName | $("#") |
| 2.编写条件 | click() blur() mouseover() | |
| 3.执行函数 | function(){ 函数体; } |
二、触发器编写
1.格式
注意:DELIMITER 是定界符,分隔符的意思
声明mysql的结束符,默认结束符是;
DELIMITER ||
CREATE TRIGGER triggerName AFTER/BEFORE insert ON tableName
FOR EACH ROW
BEGIN
ISNERT INTO tableName(column1,column2,...)VALUE(....);
END
DELIMITER ;
2.触发器效果的语句
| trigger | 触发器 | |
| triggerName | 触发器的名字 | |
| 触发器的触发时间 | after | 在触发事件之后 |
| before | 在触发事件之前 | |
| each row | 每一行 | |
| begin | 开始编写触发事件 | |
| 触发事件 | insert | 插入事件 |
| update | 更新事件 | |
| delete | 删除事件 | |
| end | 触发事件结束 | |
3.以table,table2为案例
1.创建table1,table2 表:
create table table1(name char(30),age int)charset="utf8";
create table table2(name char(30),age int)charset="utf8";
2.创建触发器:
DELIMITER ||
create trigger tb2_auto_add after insert on table1
for each row
begin
insert into table2(name,age)value("老旧",33);
end
DELIMITER ;
insert into table1(name,age)value("老刘",23);
三、查看触发器
触发器的信息都被存放在information_schema数据库当中的triggers表中



select * from information_schema.triggers\G;
四、删除触发器
DROP TRIGGER triggerName;
五、触发器的功能
| 安全 | 考虑到数据被修改权限问题,我们用触发器代替用户修改数据 |
| 审计 | 对前端数据进行操作 |
| 实现业务规划 | |
| 同步数据 | 会自动添加 |
| 用于科学计算 | 做数据统计 |

本文详细介绍了SQL触发器的概念,从定义、编写格式到实际案例的演示,以及如何查看和删除触发器,全面阐述了触发器在数据库操作中的功能和作用。
6823

被折叠的 条评论
为什么被折叠?



