sql语句---触发器
一、触发器定义
触发器是一种机制,当某个事物满足某个条件,触发某个功能
当某个事物满足某个条件触发某个功能
用法:
1、安全考虑,考虑到数据被修改的权限问题,用触发器代替用户来添加修改数据。
2、审计功能,对前端操作进行审计
3、实现业务规则
4、同步数据
5、用于科学计算,做数学统计
二、触发器编写
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.触发器效果的语句
Create 创建
Trigger 触发器
Tb2_auto_add 触发器名称,必须有意义
AFTER 触发时间
AFTER在触发事件之后
BEFOR 在触发器之前
INSERT 触发的条件
UPDATE 更新事件
DELETE 删除事件
INSERT 插入事件
EACH ROW 任意一行
BEGIN 开始编写触发事件
Insert into tb2(name,age) value(“老王”,18); 触发的事件
END 触发事件结束
3、举例分析
以两个表 ta1 和 ta2为例
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数据库当做trigger表当中
查看information_schema中所有信息
select * from information_schema.triggers\G;
四、删除触发器
DROP TRIGGER triggerName;
在触发器中,new 变量代表触发表,可以生成动态的
结果: