首页 > 2个表各自有触发器,当其中一个表更新时,另一个表也会更新,同时会再更新一次前一个表要怎么做?

2个表各自有触发器,当其中一个表更新时,另一个表也会更新,同时会再更新一次前一个表要怎么做?

情景:
当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;
【热门文章】
【热门文章】