MYSQL触发器更新另一个表?

时间:2019-05-03 08:02:18

标签: mysql triggers

我有一个“产品”表,其中包含唯一的ID和产品库存,我创建了另一个“统计”表,该表具有product_id的外键以及传入和传出的值。

产品库存通过API更新,并且可以增加或减少一个值。更新时,我想增加“统计”表的传入或传出值,但语法有问题。

我认为触发器应该在“产品”表上更新后发生,并且这样的事情发生:

if new.product_stock < old.product_stock
    update statistics set outgoing += (the value) where statistics.product_id = product.product_id

else if new.product_stock > old.product_stock
    update statistics set incoming += (the value) where statistics.product_id = product.product_id

我将如何创建这样的触发器,我是否可以访问更新中的值,还是通过取(new-old)的绝对值来计算它?

我已经尝试过这样的测试:

create trigger update_stats after update on product 
for each row
update statistics set incoming = 5 where statistics.product_id = product.product_id;

这对统计信息表没有任何作用,也阻止了对产品表的更新。

0 个答案:

没有答案