MYSQL триггер для обновления другой таблицы? - PullRequest
0 голосов
/ 03 мая 2019

У меня есть таблица «product», которая содержит уникальный идентификатор и запас продуктов, я создал еще одну таблицу «statistics», в которой есть внешний ключ для product_id и значения для входящих и исходящих.

Товарный запас обновляется через API и может увеличиваться / уменьшаться на величину. При обновлении я хотел бы увеличить входящие или исходящие значения таблицы статистики, но у меня возникли проблемы с синтаксисом.

Я думаю, что триггер должен произойти после обновления таблицы 'product' и что-то вроде этого происходит:

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

Как мне создать такой триггер и получить ли я доступ к значению из обновления или рассчитать его, взяв абсолютное значение (новое - старое)?

Я пробовал в качестве теста что-то вроде этого:

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

, который ничего не делает с таблицей статистики, а также останавливает обновление таблицы продукта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...