Non sono sicuro che cosa c'è di sbagliato nel mio codice.Errore durante l'utilizzo di else se in trigger sql
delimiter $$
CREATE TRIGGER updateRestaurantAtributes
AFTER UPDATE ON fields_data
FOR EACH ROW BEGIN
IF (NEW.fieldid = 1) THEN
UPDATE restaurants
SET address1 = NEW.data_txt
Where rid = NEW.itemid;
ELSE IF (NEW.fieldid = 2) THEN
UPDATE restaurants
SET address2 = NEW.data_txt
Where rid = NEW.itemid;
END IF;
END$$
La versione precedente non funziona. Dice l'errore di sintassi vicino a "FINE" (ultima riga). Ma il qualcosa funziona quando uso
delimiter $$
CREATE TRIGGER updateRestaurantAtributes
AFTER UPDATE ON fields_data
FOR EACH ROW BEGIN
IF (NEW.fieldid = 1) THEN
UPDATE restaurants
SET address1 = NEW.data_txt
Where rid = NEW.itemid;
END IF;
IF (NEW.fieldid = 2) THEN
UPDATE restaurants
SET address2 = NEW.data_txt
Where rid = NEW.itemid;
END IF;
END$$
Non so perché. Mi sto perdendo qualcosa?
Aggiunta di collegamento per la sintassi :-) http://dev.mysql.com/doc/refman/5.5/en/if-statement.html –
@AdrianCornish Grazie è già in là, legato alle parole " Sintassi di MySQL " –
Le mie scuse - Non ho fatto clic sul collegamento –