Как реализовать триггер в консоли (MySQL)

Рейтинг: 1Ответов: 1Опубликовано: 20.04.2015

Имеется такой вот запрос на добавление триггера:

CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW BEGIN
    INSERT INTO test2 SET a2 = NEW.a1;
    DELETE FROM test3 WHERE a3 = NEW.a1;
    UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
  END;

Но, при использовании консоли каждая кома с запятой является завершением запроса. Вопрос: Что делать, если хочу писать триггер в консоли? Спасибо.

Ответы

▲ 6

Нужно поменять разделитель команд. Например:

> DELIMITER //
> CREATE TRIGGER testref BEFORE INSERT ON test1
    FOR EACH ROW BEGIN
      INSERT INTO test2 SET a2 = NEW.a1;
      DELETE FROM test3 WHERE a3 = NEW.a1;
      UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
    END//
> DELIMITER ;