2016-12-09 5 views
0

私はこのトリガーにいくつかの問題があります。私はトリガー、プロシージャー、イベントなどの初心者です。私の間違いが見つけやすいものなら、Sry。 わたしのMySQL XAMPPのバージョンは次のとおりです。4.5.1 と述べたトリガされます。私はrecievingてるエラーがちょうどあるエラー:トリガーの後に挿入

DELIMITER // 
CREATE TRIGGER actualitzarStock 
AFTER INSERT ON detallcompra 
FOR EACH ROW 
BEGIN 
UPDATE producte SET producte.stock = (producte.stock - 
detallcompra.quantitat) 
where producte.idProducte = detallcompra.idProducte 
END 
DELIMITER // 

: "エラー"。だから、私を助けようとしている皆さん、ありがとう!

答えて

1

detallcompraに追加される新しい行を参照するには、テーブル名ではなくNEWを使用する必要があります。

CREATE TRIGGER actualitzarStock 
AFTER INSERT ON detallcompra 
FOR EACH ROW 
    UPDATE producte 
    SET producte.stock = (producte.stock - NEW.quantitat) 
    where producte.idProducte = NEW.idProducte; 
+0

私は30秒前に通知を見ました...それはノブだったかもしれないと思ったので、私は答えを終えました。 –

+0

こんにちは!はい、私はnoob xDです。私はあなたのソリューション@Barmarを試しましたが、うまくいきません。メッセージには次のように書かれています。 #1064 - SQL構文に誤りがあります。あなたのMariaDBサーバーのバージョンに対応するマニュアルをチェックして、正しい構文が使用できるようにしてください。 'DELIMITER // CREATE TRIGGER actualitzarStock after insert on detallcompra FOR' 1行目 ' – Joan

+0

あなたはどのように入力していますか? – Barmar

関連する問題