@daniil14056

Почему триггер mysql не создается?

Почему не работает полностью скопированный триггер mysql,уже до дыр его рассмотрел. Все база существуют с такими полями.
mysql>
mysql>  USE  statistic;  CREATE TRIGGER`countryLog` AFTER INSERT ON `Country` FOR EACH ROW BEGIN INSERT INTO log(msg,row_id) values ('insert', NEW.id_country); END;
Database changed
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
mysql>
  • Вопрос задан
  • 518 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Потому что здесь вы, наоборот, не изменили delimiter команд, что требуется сделать.
Такой вот дурацкий синтаксис mysql, парсеру надо специально объяснять, где заканчивается триггер (или хранимая процедура).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@entermix
CREATE TRIGGER `countryLog` AFTER INSERT ON `Country`
 FOR EACH ROW INSERT INTO log(`msg`, `row_id`) VALUES ('insert', NEW.id_country)
Ответ написан
Комментировать
@AVKor
Потому что тут:
USE  statistic;  CREATE TRIGGER`countryLog` AFTER INSERT ON `Country` FOR EACH ROW BEGIN INSERT INTO log(msg,row_id) values ('insert', NEW.id_country); END;

три запроса (последний - END;).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы