2012-11-21 39 views
0

我不擅長在數據庫觸發器在使用MySql插入當前表時更新另一個表的觸發器?

觸發:

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和訂單

列:

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是foriegn鍵到另一個表中的主鍵。

我想要的是當我將值插入到訂單表中時,觸發器應更新budget_tracking表的monthly_balance字段以及兩個表的created_date和modified_date。

任何幫助將不勝感激!

回答

1

試試這個

BEGIN 
update budget_tracking set monthly_balance = monthly_balance + new.total_price 
where tracking_userid = new.order_userid; 
END 
+0

@aykuy謝謝!這是工作! – Newbie

+0

不客氣@codebeginner – aykut

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 ; 
+0

@SHAH謝謝!這是工作! – Newbie

相關問題