MySQL Trigger: Excluir da tabela após DELETE

Escopo: duas tabelas. Quando um novo patrono é criado, eles têm algumas informações sobre eles armazenadas em uma segunda tabela (isso foi feito usando um gatilho também, ele funciona como esperado). Aqui está um exemplo da minha estrutura de tabela e relacionamento.

Tabela 1->clientes

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

Tabela 2 ->patron_info

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

O administrador pode gerenciar os usuários. Quando eles escolhem remover um patrono, o patrono é removido dotabela 1 patrons. Neste ponto, nada acontecemesa 2 patron_info.

Estou simplesmente tentando criar um gatilho para excluir da tabela 2, quando a tabela 1 tiver um item excluído. Aqui está o que eu tentei ...

Inicialmente, eu tento soltar o gatilho se ele existir (só para limpar o ar) ...

DROP TRIGGER IF EXISTS log_patron_delete;

Então eu tento criar o gatilho depois ...

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

Neste ponto, recebo um erro de sintaxe1046: Check syntax near END on line 6. Eu não sei qual é o erro neste momento. Eu tentei várias variações diferentes. Além disso, devo usar um delimitador aqui?

Alguém pode ajudar a restaurar minha sanidade?

questionAnswers(3)

yourAnswerToTheQuestion