Я просто переключился с базы данных Derby от Apache на MySQL и все еще знаком с синтаксисом. Я прочитал документацию о триггерах, и я думаю, что правильно следил за синтаксисом. Тем не менее, у меня проблемы с BEGIN
и END
Мой триггер ввода ниже не работает, если я положил BEGIN
и END
Я даже попробовал поставить DELIMITER
, но это не исправить.Правильное использование BEGIN и END в MySQL
CREATE TRIGGER COPY_INSERTED_USERID_TO_ALLUSERS_PERMISSIONS
AFTER INSERT ON ALLUSERS
FOR EACH ROW
BEGIN
INSERT INTO ALLUSERS_ADMIN_PERMISSIONS(USERID)
VALUES(NEW.USERID);
END;
Удаление BEGIN
и END
делает его работу, но я не в состоянии в полной мере воспользоваться из операторов соединения.
CREATE TRIGGER COPY_INSERTED_USERID_TO_ALLUSERS_PERMISSIONS
AFTER INSERT ON ALLUSERS
FOR EACH ROW
INSERT INTO ALLUSERS_ADMIN_PERMISSIONS(USERID)
VALUES(NEW.USERID);
Я был бы признателен за любую помощь. Спасибо.
Отредактировано:
Я пытался следовать @Ilanatos совет, который работает, но возвращает ошибку на первой попытке. Мне пришлось обновить страницу phpmyadmin, чтобы избавиться от ошибки. Ниже приведены скриншоты.
тогда, если я обновить страницу (как Firefox и Chrome), я вижу на курок.
Я не думаю, что он должен возвращать сообщение об ошибке во время выполнения создать определение триггера.
@Ilanato Спасибо за ваш совет. Хотя появляется триггер, есть небольшая проблема. Когда я попытался воссоздать триггер (после его удаления) с помощью кода, он возвращает сообщение об ошибке, как показано на снимке экрана, который я предоставил. – p3ace