Как я могу изменить значение ячейки в одной таблице, когда я вставляю число в другую ячейку из другой таблицы? - PullRequest
0 голосов
/ 04 мая 2020

Я работаю с mySQL над проектом для ресторана. У меня есть две таблицы: одна называется «DI SH», а другая - «ИНГРЕДИЕНТЫ». Как вы знаете, di sh состоит из нескольких ингредиентов.

То, что я хочу сделать, - это организовать заказы всех клиентов и пронумеровать заказанные блюда и, следовательно, знать количество ингредиентов, необходимых для приготовления этого ди sh, после чего мне нужно вычесть из Хранение в этом случае «ИНГРЕДИЕНТОВ» таблица количества ингредиентов, которые были использованы.

, на мой взгляд, приходят только так:

UPDATE INGREDIENTS SET stock= stock-ingredients_used WHERE [i don't know what to write here]

Как я могу сделать в момент увеличения объема блюд в таблице DI SH вычесть из столбца запасов таблицы INGREDIENTS ингредиенты, использованные в этом ди sh?

1 Ответ

0 голосов
/ 04 мая 2020

Вы можете использовать триггер, который обновляет запас после или до вставки данных в другую таблицу.

Вот пример:

CREATE TRIGGER my_trigger BEFORE INSERT ON dish 
FOR EACH ROW
BEGIN
  UPDATE ingredients SET stock = (stock - NEW.used) WHERE ingredient = NEW.ingredient;
END;

Для получения дополнительной информации: MySql Официальный справочник

...