我想做的类似于 this ,但该操作是插入而不是更新。我将使用该问题中使用的相同示例,并根据我的上下文进行修改;
我想做这样的事情:
CREATE TRIGGER au_TableA AFTER UPDATE TableA
FOR EACH ROW BEGIN
INSERT INTO TableB (cID, points) VALUES (NEW.cID, TableC.points);
END
cID 存在于表 A 和表 C 中。因为这不是更新,所以我无法像其他问题一样进行连接(对吗?)。有什么方法可以将 TableC 中的数据插入到 TableB 中吗?
最佳答案
如果我正确理解你的问题,这应该是你需要的触发器:
CREATE TRIGGER au_TableA AFTER UPDATE TableA
FOR EACH ROW
BEGIN
INSERT INTO TableB (cID, points)
SELECT TableC.cID, TableC.points
FROM TableC
WHERE TableC.cID = NEW.cID;
END
在这种情况下,您不需要 JOIN,但您可以使用语法 INSERT INTO ... SELECT
关于mysql - 从 MySQL 触发器中的第三个表获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20056277/