Как исправить мой триггер, который не удаляется - PullRequest
1 голос
/ 27 марта 2019

Я работаю над сайтом электронной коммерции для школьного проекта, и мне нужно добавить триггер в моем проекте.

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

CREATE TRIGGER stock_produit_0 BEFORE UPDATE
ON produit FOR EACH ROW
BEGIN
IF OLD.StockProduit = 0 THEN
INSERT INTO historique_produit(
          idProduit,
          PrixProduit,
          PoidProduit,
          NomProduit,
          DescriptionProduit,
          CouleurProduit,
          idclient,
          dateDelete)
          VALUES(
          OLD.idProduit,
          OLD.PrixProduit,
          OLD.PoidProduit,
          OLD.NomProduit,
          OLD.DescriptionProduit,
          OLD.CouleurProduit,
          OLD.idclient,
          NOW());
DELETE FROM produit WHERE idProduit = OLD.idProduit;
END IF;
END

Теперь триггер работает на сервере, но, когда я покупаю продукт, запас товара становится равным 0, но не удаляется

1 Ответ

0 голосов
/ 27 марта 2019

Я решил отключить мой триггер в двух других триггерах. Первый - это триггер, который вставляется в таблицу historyique_produit, когда акция равна нулю и она работает. Но теперь я должен написать код, который удаляет мой продукт из продукта, когда запас равен нулю. Я не знаю, возможно ли это. Если это не так, я думаю, что я буду держать свой продукт в таблице, и я не буду показывать его на странице, которая показывает продукт

BEGIN 
IF NEW.StockProduit = 0 THEN
BEGIN
INSERT INTO historique_produit(
          idProduit,
          PrixProduit,
          PoidProduit,
          NomProduit,
          DescriptionProduit,
          CouleurProduit,
          idclient,
          dateDelete)
          VALUES(
          OLD.idProduit,
          OLD.PrixProduit,
          OLD.PoidProduit,
          OLD.NomProduit,
          OLD.DescriptionProduit,
          OLD.CouleurProduit,
          OLD.idclient,
          NOW());
END;
END IF;
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...