情景:
当a表插入新数据时,b表也会插入一条信息,统计a表中某信息的次数。
记录后,会重新更新a表的另一信息。
例:
插入a表
a->ID:1 计时器:0秒 引用对象ID:(无引用)
ID:2 计时器:0秒 引用对象ID:(1)
ID:3 计时器:0秒 引用对象ID:(1)
由此触发动作:
插入b表
b->ID:1(被引用对象) times:2(被引用次数)
再次触发:
更新a表
a-> 计时器0 --->计时器2
触发器返回1442错误,应该是2个表之间的动作都会触发trigger。
这个需求要怎么完成?
触发器:
create trigger tri_a before insert on a
for each row
begin
if a.引用对象ID>0 then
insert into b value (a.ID,1)on duplicate key update times=times+1;
end if;
end;
create trigger tri_b before insert on b
for each row
begin
update a set a.计时器=b.times where b.ID=a.ID;
end;