Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-在其他表上插入触发器更新_Mysql_Sql - Fatal编程技术网

MySQL-在其他表上插入触发器更新

MySQL-在其他表上插入触发器更新,mysql,sql,Mysql,Sql,我有两张桌子: 每次插入Sales表后,它都需要触发对Sales_DAY表的更新。此表包含每个卖家、每个产品和每天的销售额 每当Sales_DAY表中的Sales_DAY条目对应Sales_DAY表中的条目时,Sales_DAY的金额就需要增加 我想到了这样的事情: CREATE TRIGGER test_trigger AFTER INSERT ON `Sales` FOR EACH ROW BEGIN UPDATE Sales_DAY SET amoun

我有两张桌子:

每次插入Sales表后,它都需要触发对Sales_DAY表的更新。此表包含每个卖家、每个产品和每天的销售额

每当Sales_DAY表中的Sales_DAY条目对应Sales_DAY表中的条目时,Sales_DAY的金额就需要增加

我想到了这样的事情:

CREATE TRIGGER test_trigger
AFTER INSERT ON `Sales` FOR EACH ROW
BEGIN
       UPDATE Sales_DAY
           SET amount = amount + NEW.amount
           WHERE commercial_id = NEW.commercial_id
           AND produit_id = NEW.produit_id
           AND date = DATE(NEW.date);
END;

由于我从未创建过任何触发器,我想知道这样做是否正确。

是的,这是做同样事情的正确方法。您可能还需要插入逻辑。如果
Sales\u DAY
没有匹配值怎么办?你应该在那个箱子里做一个新的记录吗?哈,是的,我忘了那个箱子。我需要检查一下,如果是这样的话,做第一次插入。