2017-05-12 3 views
0

Ich versuche, Trigger vor der Aktualisierung der Tabelle zu erstellen. Ich möchte es funktioniert, wenn zwei bestimmte Spalten geändert werden: Status und sale_profit Spalten. Wenn eine dieser Spalten aktualisiert wird, Trigger muss is_changed Spalte Wert auf 1 gesetzt Aber die folgenden Code gibt mir Fehler wie folgt aus:Create Trigger auf Update-Spalte in Tabelle

Fehler:

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

SQL-Code:

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

|| ? Versuchen Sie, zu oder zu wechseln –

Antwort

0

Ok. Ich löste mein Problem, indem ich Anfang und Ende des Codes Trennzeichen hinzufüge.

AKTUALISIERT Code:

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$$ 
Verwandte Themen