2017-09-25 1 views
0

Comment puis-je utiliser MySQL Trigger pour mettre à jour quantité champ articles table avec quantité-quantity_delivered lorsque quantity_delivered dans le demandes Le tableau est mis à jour?Comment puis-je utiliser MySQL Trigger à jour champ quantité dans la table 'articles de avec quantité - quantity_delivered

Voici ma question, j'ai testé mais je vois son ne pas être mis à jour, quelqu'un peut-il m'aider s'il vous plaît?

DELIMITER $$ 
CREATE TRIGGER items_update AFTER UPDATE ON requests 
FOR EACH ROW 
BEGIN 
    UPDATE items 
     SET items .quantity = items.quantity - requests.quantity_delivered 
     WHERE items .item_id = requests.item_id; 
END; 
$$ 
DELIMITER ; 

Répondre

0

Vous devez utiliser le nouveau. valeurs dans votre déclencheur comme ceci

drop trigger if exists items_update; 
DELIMITER $$ 
CREATE TRIGGER items_update AFTER UPDATE ON requests 
FOR EACH ROW 
BEGIN 
    UPDATE items 
     SET items.quantity = items.quantity - new.quantity_delivered 
     where items.item_id = new.item_id; 
END; 
$$ 
DELIMITER ; 

En aparté devrait-il être un déclencheur après insertion?

+0

Merci P.Salmon – turaco

1

J'ai résolu par moi-même comme ceci et son travail pour moi merci à tous!

DELIMITER $$ 
CREATE TRIGGER `quantityTrigger` AFTER UPDATE ON `requests` FOR EACH ROW BEGIN 
UPDATE items i 
SET i.quantity=i.quantity-NEW.quantity_delivered 
WHERE i.item_id=NEW.item_id; 
END 
$$ 
DELIMITER ;