2017-08-19 12 views
0
DELIMITER $$ 

USE `gym`$$ 

DROP TRIGGER /*!50032 IF EXISTS */ `goods_input_total_amount-updateon-goods_input_price`$$ 

CREATE 
    /*!50017 DEFINER = 'root'@'localhost' */ 
    TRIGGER `goods_input_total_amount-updateon-goods_input_price` 
    AFTER UPDATE ON `goods_input_price` 
    FOR EACH ROW BEGIN 
     DECLARE input_price INTEGER; 
     SELECT price_goods_input_price INTO input_price FROM goods_input_price 
     WHERE id_goods_input_price=NEW.id_goods_input_price LIMIT 1; 
     SET new.goods_input_total_amount=goods_input_quantity*input_price; 
    END; 
$$ 

DELIMITER ; 

が、私はこのエラーメッセージを持っている:table2の更新後にtable1を更新するにはどうすればよいですか?

エラーコード:NEW行の1362更新をトリガ

+0

編集あなたの質問 – Noob

答えて

2

メッセージの後で許可されていないことはかなり明確です。

BEGIN 
    SELECT price_goods_input_price 
    INTO new.goods_input_total_amount 
    FROM goods_input_price 
    WHERE id_goods_input_price = NEW.id_goods_input_price 
    LIMIT 1; 
END; $$ 
+0

エラーコード:1054 不明列私はこれを書くために傾けられる

DELIMITER $$ USE gym$$ DROP TRIGGER 'goods_input_total_amount_updateon_goods_input_price'$$ CREATE TRIGGER 'goods_input_total_amount_updateon_goods_input_price' BEFORE UPDATE ON goods_input_price FOR EACH ROW BEGIN DECLARE input_price INTEGER; SELECT price_goods_input_price INTO input_price FROM goods_input_price WHERE id_goods_input_price = NEW.id_goods_input_price LIMIT 1; SET new.goods_input_total_amount = goods_input_quantityinput_price; END; $$ DELIMITER ; 

:あなたが行を更新したい場合は、前に更新トリガを必要とします'NEW'の 'goods_input_total_amount' これは「前」の場合 – Karen

+0

であり、最後の行が次のとおりである場合 SET new.goods_input_total_amount = goods_input_quantity * input_price; @Karen。 – Karen

+0

。 。引き金の名前にはハイフンを使用しないでください。 –

関連する問題