2017-12-28 18 views
0

MySQLのトリガー取得しかし正しくない場合CURRENT_TIMESTAMPとfinished_dateを更新する方法ワーキング。いずれかがMySQLのトリガー数量を数量iは、以下のトリガを試みた0</strong></p> <p><strong>を取得したときにCURRENT_TIMESTAMPと商品テーブルにfinished_dateを更新する方法を0

DELIMITER $$ 
CREATE TRIGGER `quantityTrigger` AFTER change ON `items.finished` FOR EACH ROW BEGIN 
UPDATE items i 
IF(i.quantity = 0) THEN 
SET i.finished_date= CURRENT_TIMESTAMP(Date) 
WHERE i.item_id=NEW.item_id; 
    END IF; 
END 
$$ 
DELIMITER ; 
+0

あなたのコードは動作していますか?正確な流れを与える。何をしたいですか? –

答えて

0

あなたが同じテーブル自体に作業している場合は、このUPDATE ONで実行するためにupdateコマンドを使用する必要が私を助けてくださいんです。

DELIMITER $$ 
CREATE TRIGGER quantityTrigger 
BEFORE UPDATE ON items FOR EACH ROW 
begin 

    IF(new.quantity = 0) THEN 
    new.finished_date = now(); 
    END IF; 

END; 
$$ 
DELIMITER ; 

だけで問題をシミュレートするために、UPDATE ON ONまたはAFTERBEFORE UPDATEを変更:

はこのようにそれを実行してください。

関連する問題