Триггер MySQL :Удалить из таблицы ПОСЛЕ УДАЛЕНИЯ

Scope :Две таблицы. Когда создается новый посетитель, некоторая информация о нем хранится во второй таблице (. Это также было сделано с помощью триггера, он работает, как и ожидалось ). Вот пример моей структуры таблицы и отношений.

Таблица 1 -> посетителей

+-----+---------+-----+
+  id +   name  + val +
+=====+=========+=====+
+  37 +  george +  x  +
+-----+---------+-----+
+  38 +  sally  +  y  +
+-----+---------+-----+

Таблица 2 -> патрон _информация

+----+-----+----------+
+ id + pid +   name   +
+----+-----+----------+
+  1 +  37 +  george  +
+----+-----+----------+
+  2 +  38 +  sally   +
+----+-----+----------+

Администратор может управлять посетителями. Когда они решают удалить посетителя, он удаляется из таблицы 1 patrons.. На данном этапе,ничего не происходит с таблицей 2patron_info.

Я просто пытаюсь создать триггер для удаления из таблицы 2, когда в таблице 1 удален элемент. Вот что я пробовал...

Изначально я пытаюсь сбросить триггер, если он есть (просто для очистки воздуха )...

DROP TRIGGER IF EXISTS log_patron_delete;

Затем я пытаюсь создать триггер впоследствии...

CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
    WHERE patron_info.pid = patrons.id
END

В этот момент я получаю синтаксическую ошибку 1046: Check syntax near END on line 6. Я не знаю, в чем ошибка на данный момент. Я пробовал несколько разных вариаций. Кроме того, я должен использовать здесь разделитель?

Может ли кто-нибудь помочь восстановить мой рассудок?

19
задан w5m 12 March 2013 в 17:14
поделиться