MySQL触发根据另一个表的列总和更新字段

标签 mysql triggers

我有两个表“调查”和“结果”

survey table
-----------------------------------------------
survey_id  | name  | p1q1 | p1q2 | p1q5  
-----------------------------------------------
1          | John  | 10   | 10   | 5 
-----------------------------------------------
2          | Erick | 12   | 15   | 23 
-----------------------------------------------

results table

id  | Uptake | PY5Q1 |
----------------------------
1   | AZT    | NULL  |
----------------------------
2   | UPDP   | NULL  |
----------------------------

我是触发器新手,正在尝试找出如何获取调查表中 p1q5 的总和并将其更新为 PY5Q1,其中结果表中 id = 1 任何想法将不胜感激

CREATE TRIGGER `results` AFTER INSERT ON `survey` FOR EACH ROW BEGIN
UPDATE results SET PY5Q1=(SELECT SUM(p1q5)) WHERE id=1;
END

最佳答案

CREATE TRIGGER `results` AFTER INSERT ON `survey` FOR EACH ROW
BEGIN
UPDATE results SET PY5Q1=(SELECT SUM(p1q5)FROM survey) WHERE id=1;
END

关于MySQL触发根据另一个表的列总和更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28579734/

相关文章:

javascript - 在多个事件上触发函数

php - 我看不到分页查询中的任何数据

php - Laravel 5.4 - 查询与搜索词的关系

php - 在提交时插入 MySQL 数据

mysql - 检查两个表中的多个值是否相等然后更新表的触发器

Mysql Trigger和Event在一起?

php mysql_connect 警告禁用

php - 如何使用 sql 只选择大于 0 的值?

mysql - 尝试编写 MySQL 触发器以替换 phpmyadmin 上的 CHECK 约束时出现语法错误

MySQL触发器自动递增