MySql условное обновление TRIGGER, дающее странную синтаксическую ошибку - PullRequest
1 голос
/ 15 января 2020

Я пытаюсь настроить TRIGGER для обновления некоторых полей LONGTEXT в таблице wp_user_favorite_events в зависимости от того, что обновляется при обновлении таблицы wp_postmeta. Тем не менее, независимо от того, что я делаю, я не могу правильно выстроить запрос. На данный момент, это дает мне две ошибки внизу, когда я пытаюсь выполнить триггер. Любые предложения?

CREATE TRIGGER postmeta_UpdateFavorites                                                                                                                                                                                                                 
AFTER UPDATE           
ON wp_postmeta 
FOR EACH ROW        

BEGIN                                                                                                                                                                                                                                                                            
    IF     OLD.meta_key = '_EventStartDate' 
       AND OLD.meta_value <> NEW.meta_value 
    THEN 
         UPDATE wp_user_favorite_events 
         SET wp_user_favorite_events.event_start = NEW.meta_value 
         WHERE wp_user_favorite_events.post_id = NEW.post_id;                                                                                                                                                                                                                                                            
    ELSEIF     OLD.meta_key = '_EventEndDate' 
           AND OLD.meta_value <> NEW.meta_value 
    THEN 
         UPDATE wp_user_favorite_events 
         SET wp_user_favorite_events.event_end = NEW.meta_value 
         WHERE wp_user_favorite_events.post_id = NEW.post_id;
    END IF;
END;     

Ошибка базы данных WordPress У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с '' в строке 7

Ошибка базы данных WordPress У вас есть ошибка в синтаксисе SQL; обратитесь к руководству, соответствующему вашей MySQL версии сервера, чтобы узнать правильный синтаксис для использования рядом с 'ELSEIF OLD.meta_key =' _EventEndDate 'И OLD.meta_value <> NEW.meta_value THEN' в строке 1 для запроса

...