创建mysql触发器,根据此表中列的平均值更新另一个表的列

时间:2016-10-20 16:34:57

标签: php mysql

刚刚浏览了一些mysql触发器的文档并试图创建一个触发器。 附在这里是我的桌子结构的图片。我有两张桌子.. enter image description here

我的问题是: 我希望在tasks表中更新父任务的进度,只要其中一个子任务的进度在 subtasks表。

例如,Complete Fees Module有两个子任务:'阅读结构'和'任务2'。 因此,该任务的task_progress的价值在'任务'表应该是子任务的平均进度。 即(23 + 25)/ 2;

以下语法错误我知道......

DELIMITER $$
CREATE TRIGGER update_progress
AFTER INSERT ON `task_status` FOR EACH ROW
begin
   DECLARE avg_progress integer;

   @avg_prog = sum of this query...
   {
   select subtask_progress from subtasks where task = NEW.task
   }

       UPDATE tasks
       SET task_progress = @avg_progress
       WHERE subtasks.task = tasks.task

END;
$$
DELIMITER ;

我是否在正确的轨道上?如果有人建议实际工作触发器,我将不胜感激?

0 个答案:

没有答案