MySQL Trigger: Usuń z tabeli po usunięciu

Zakres: dwie tabele. Gdy tworzony jest nowy patron, mają one pewne informacje o nich przechowywane w drugiej tabeli (zrobiono to również za pomocą wyzwalacza, działa zgodnie z oczekiwaniami). Oto przykład mojej struktury tabeli i relacji.

Tabela 1->patroni

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

Tabela 2 ->patron_info

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

Administrator może zarządzać klientami. Gdy zdecydują się usunąć patrona, patron zostaje usunięty zTabela 1 patrons. W tym momencie nic się nie dziejeTabela 2 patron_info.

Po prostu próbuję utworzyć wyzwalacz do usunięcia z tabeli 2, gdy tabela 1 ma element usunięty. Oto, co próbowałem ...

Początkowo próbuję upuścić wyzwalacz, jeśli istnieje (tylko po to, by oczyścić powietrze) ...

DROP TRIGGER IF EXISTS log_patron_delete;

Następnie próbuję utworzyć wyzwalacz ...

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

W tym momencie pojawia się błąd składniowy1046: Check syntax near END on line 6. Nie wiem, na czym polega błąd w tym momencie. Próbowałem kilku różnych odmian. Czy muszę tutaj użyć separatora?

Czy ktoś może pomóc mi odzyskać zdrowie psychiczne?

questionAnswers(3)

yourAnswerToTheQuestion