mysql - 从 MySQL 触发器中的第三个表获取信息

标签 mysql triggers

我想做的类似于 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/

相关文章:

mysql - 如何对两个表进行 SELECT 操作?

mysql - Mysql触发器,语法错误

sql-server - 触发和禁用 "row(s) affected"消息

python - Django 版本的数据库触发器?

php - 如何将 mysqli_stmt_bind_param() 用于多参数?

MySQL 前值

database - 摆脱插入触发器

git - Jenkins 使用 git sparse checkout 触发

php - 使用php读取.xlsx文件并写入数据库

MySQL 代理负载平衡器问题