如何避免mySQL中触发器的无限循环?

问题描述 投票:0回答:1

我尝试在 SQL 中创建触发器,但该场景形成无限循环。

CREATE TRIGGER UpdateTableB
AFTER UPDATE ON tableA
FOR EACH ROW
BEGIN
   UPDATE tableB
   SET info = NEW.data
   WHERE id = NEW.id;
END;

CREATE TRIGGER UpdateTableA
AFTER UPDATE ON tableB
FOR EACH ROW
BEGIN
   UPDATE tableA
   SET data = NEW.info
   WHERE id = NEW.id;
END;

我应该怎样做才能避免循环?

这会导致无限循环。

mysql
1个回答
0
投票

这会导致无限循环。

不。你不会获得无限循环。

尝试更新任何这些表将导致错误 1442

无法更新存储函数/触发器中的表“%s”,因为它已被调用此存储函数/触发器的语句使用。

© www.soinside.com 2019 - 2024. All rights reserved.