我有一个“产品”表,其中包含唯一的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;
这对统计信息表没有任何作用,也阻止了对产品表的更新。