DELIMITER $$
CREATE
TRIGGER `bill_items_after_insert` AFTER INSERT
ON `bill_items`
FOR EACH ROW BEGIN
UPDATE parts set quantity = quantity - NEW.qty WHERE id = NEW.parts_id;
END$$
DELIMITER ;
我建议您也为更新和删除触发器也为数据一致性。 更新 根据您的评论,可以使用普通的insert和update using transaction来获取一致性数据:
START TRANSACTION;
INSERT INTO bill_items (bill_id, parts_id, qty) VALUES (your_bill_id,your_parts_id,your_qty);
UPDATE parts SET quantity = quantity - your_qty WHERE id = your_parts_id;
COMMIT;
1条答案
按热度按时间2ledvvac1#
我认为在这种情况下最好使用触发器:
我建议您也为更新和删除触发器也为数据一致性。
更新
根据您的评论,可以使用普通的insert和update using transaction来获取一致性数据: