0

我不擅长数据库中的触发器

扳机:

delimiter $$

    CREATE
    DEFINER=`root`@`localhost`
    TRIGGER `bon_apetite`.`orders_insert_update_trigger`
    AFTER INSERT ON `bon_apetite`.`orders`
    FOR EACH ROW
    BEGIN
    update budget_tracking set new.monthly_balance = old.monthly_balance + new.total_price
    where tracking_userid = new.order_userid;
    END
    $$

表:

预算跟踪和订单

列:

budget_tracking(id、budget_userid、monthly_balance、created_date、modified_date)

订单(order_id,order_userid,total_price,created_date,modified_date)

budget_userid 和 order_userid 是另一个表中主键的外键。

我想要的只是当我向订单表插入值时,触发器应该更新budget_tracking 表的monthly_balance 字段以及两个表的created_date 和modified_date。

任何帮助将不胜感激!

4

2 回答 2

1

试试这个

BEGIN
update budget_tracking set monthly_balance = monthly_balance + new.total_price
where tracking_userid = new.order_userid;
END
于 2012-11-21T10:54:31.063 回答
1

试试这个:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` TRIGGER `bon_apetite`.`orders_insert_update_trigger` AFTER INSERT ON `bon_apetite`.`orders` FOR EACH ROW
BEGIN
UPDATE budget_tracking SET monthly_balance = monthly_balance + new.total_price
WHERE tracking_userid = new.order_userid;
END$$

DELIMITER ;
于 2012-11-21T10:54:36.510 回答