2017-05-12 9 views
0

テーブルが更新される前にトリガーを作成しようとしています。私はそれが2つの特定の列が変更されたときに動作します:ステータスとsale_profitの列。これらの列のいずれかが更新された場合、トリガーは1にis_changed列の値を設定する必要がありますが、以下のコードは、私にこのようなエラー与える:テーブルの更新列にトリガーを作成します。

エラー:

MySQL Error 1064: You have an error in your SQL syntax ... syntax use near at line 7 

SQLコード:

CREATE TRIGGER updateIsChanged 
    BEFORE UPDATE ON manage_product 
    FOR EACH ROW 
    BEGIN 
    IF NEW.`status` <> OLD.`status` || NEW.sale_profit <> OLD.sale_profit 
    then 
    SET NEW.is_changed = 1; 


    END IF; 
    END 
+0

|| ?またはに変更してみてください –

答えて

0

私は、コードの先頭と末尾に区切り文字を追加して問題を解決しました。

更新されたコード:

delimiter $$ 
CREATE TRIGGER updateIsChanged 
BEFORE UPDATE ON manage_product 
FOR EACH ROW 
BEGIN 
    IF NEW.`status` <> OLD.`status` || NEW.sale_profit <> OLD.sale_profit THEN 
     SET NEW.is_changed = 1; 
END IF; 
END$$ 
関連する問題