No estoy seguro de cuál es incorrecto con mi código.Error al usar else en el disparador 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 versión anterior no funciona. Dice un error de sintaxis cerca de "END" (Última línea). Pero algo funciona cuando 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$$
No estoy seguro de por qué. ¿Me estoy perdiendo de algo?
Adición de enlace para la sintaxis :-) http://dev.mysql.com/doc/refman/5.5/en/if-statement.html –
@AdrianCornish Gracias ya está ahí, ligado a las palabras " La sintaxis de MySQL " –
Mis disculpas: no hice clic en el enlace –