触发器
delimiter $$(设置$$为语句结束符)
例:
delimiter $$
create trigger jiaobanfei after update on user1
for each row
begin
update user2 set age=age+(old.num-new.num);
update user2 set num=num+1;
end
$$
delimiter;
old.age-new.age
删除;drop trigger jiaobanfei;
update user1 set num=num-4 where id=1;
注意;1、触发器不能同名
2、目前mysql只支持一类事件设置一个触发器
在触发器内,获得触发改触发程序时的数据:
利用触发程序内的new和old来完成
old:旧的数据,在时间发生之前的数据
new:监听表上,事件发生之后的数据
事件是insert,不能使用old
事件是delete,不能使用new
如果一个触发程序,由多条sql语句组成:
应该;1、语句组成语句块(begin,end)来标识语句块
2、语句快的语句需要独立的语句结束符,分号
命令行:由于触发器程序内使用分号作为语句结束符,那么当命令行客户
端碰到分号时,就应该理解成触发器程序内子语句结束,而不是整个创建触发器的