2016-04-10 6 views
0

Tabelle hat zwei Felder quantity und flag.Wie aktualisiere ich den Wert eines Feldes nur für die bestimmte Anzahl zweiter Felder?

angenommen, zum Beispiel quantity=3 und flag=0 im Ausgangszustand. Wenn der Benutzer flag=1 für nur und flag=2 für quantity=1 aktualisieren muss.

Wie kann ich das tun? Gibt es überhaupt, ohne eine separate Zeile für jede quantity=1 zu erstellen?

+0

Ich finde diese Frage verwirrend. Meinst du, wenn Benutzer Updates Flag = 1 möchten Sie Menge auf 2 setzen, und wenn Benutzer Updates Flag = 2 möchten Sie Menge auf 1 setzen? –

+0

@Tin Tran Ja, ich meine, dass – user6181297

+0

Sie Trigger verwenden können, siehe meine Antwort –

Antwort

0
CREATE TRIGGER set_quantity BEFORE UPDATE ON Test 
FOR EACH ROW 
BEGIN 
    IF NEW.flag = 1 THEN 
     SET NEW.quantity = 2; 
    END IF; 
    IF NEW.flag = 2 THEN 
     SET NEW.quantity = 1; 
    END IF; 
END/ 

sqlfiddle

Verwandte Themen