MySQL触发器插入/更新

时间:2018-09-27 19:34:55

标签: mysql sql triggers database-trigger

希望您能帮我触发一下。

我有two tables BooksOrder_Details。 我希望触发器每次出售表InStock中具有相同Books的一本书(数量)时更新OrderID

您能帮我完成触发器吗?
我现在所拥有的是:

CREATE TRIGGER UpdateInStock 
    BEFORE insert ON Order_Details
    FOR EACH ROW 
BEGIN
    Update Books
    SET action = 'update',
        BookID = BookID,
    .....

1 个答案:

答案 0 :(得分:0)

只需调用一个简单的UPDATE语句,即可使用InStock减去New.Quantity的值。

检查以下内容:

DELIMITER $$
DROP TRIGGER IF EXISTS UpdateInStock $$
CREATE TRIGGER UpdateInStock 
    BEFORE insert ON Order_Details
    FOR EACH ROW 
BEGIN
    Update Books
    SET InStock = InStock - New.QUANTITY 
    WHERE BookID = New.BookID;
END $$
DELIMITER ;