MySql操作之触发器
程序员文章站
2022-03-08 16:03:48
什么是触发器?在MySql里面也就是对某一个表的一定的操作,触发某种条件(增删改等操作),从而自动执行的一段程序和web中学过的监听器很像。创建触发器语法:CREATE TRIGGER trigger_nametrigger_timetrigger_event ON tbl_nameFOR EACH ROWtrigger_stmt列1:创建两种表t1,t2两种表中都有id,name字段,新加t1表记录后自动添加t2CREATE TRIGGER triggen1aft....
什么是触发器?
在MySql里面也就是对某一个表的一定的操作,触发某种条件(增删改等操作),从而自动执行的一段程序和web中学过的监听器很像。
创建触发器
语法:
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
列1:创建两种表t1,t2两种表中都有id,name字段,新加t1表记录后自动添加t2
CREATE TRIGGER triggen1
after
insert ON t1
FOR EACH ROW
insert into t2(name) values(new.name);
说明:NEW 是新值,OLD 是旧值
INSERT 只有NEW
UPDATE有NEW和OLD
DELETE只有OLD
注意:一般情况下,Mysql默认是以;号作为结束执行语句。在创建触发器过程中需要用到";"。为了解决这个问题,可以用到delimiter语句。例如delimiter //,可以将结束符号变成//,创建完触发器后再执行delimiter ;将结束符号改回成;
例2:创建t3表演示NEW和OLD的区别
delimiter //
CREATE TRIGGER triggen2
after
update ON t1
FOR EACH ROW
begin
insert into t2(name) values(new.name);
insert into t3(name) values(old.name);
end //
delimiter ;
查看触发器
show TRIGGERS
删除触发器
DROP TRIGGER 触发器的名字
本文地址:https://blog.csdn.net/qq_41874088/article/details/110726895