Почему выбрасывает ошибку mysql?
CREATE TRIGGER marketing_list_update
AFTER UPDATE
ON cms_offers
FOR EACH ROW
begin
if NEW.status = 'active'
then UPDATE marketing_credits_requests SET sum_s=NEW.ammount, statut=NEW.status WHERE id_req=old.id;
else then UPDATE marketing_credits_requests SET statut=NEW.status WHERE id_req=old.id;
end;
и ошибка
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
Делал все по докам mysql, версия 5.5.25
Ответы (1 шт):
Автор решения: Walfter
→ Ссылка
Примерно так, после ELSE не нужен THEN он нужен для ELSEIF и IF что бы отделить условие, и после всего блока условий его надо закрыть
delimiter //
CREATE TRIGGER marketing_list_update
AFTER UPDATE
ON cms_offers
FOR EACH ROW
BEGIN
IF NEW.status = 'active'
THEN UPDATE marketing_credits_requests SET sum_s=NEW.ammount, statut=NEW.status WHERE id_req=old.id;
ELSE UPDATE marketing_credits_requests SET statut=NEW.status WHERE id_req=old.id;
END IF;
END;//
delimiter ;
UPDATE P.S.: добавил разделитель