MySQL-Trigger: Aus Tabelle löschen NACH LÖSCHEN

Geltungsbereich: Zwei Tabellen. Wenn ein neuer Benutzer erstellt wird, werden einige Informationen über ihn in einer zweiten Tabelle gespeichert (dies wurde auch mit einem Trigger durchgeführt, es funktioniert wie erwartet). Hier ist ein Beispiel für meine Tabellenstruktur und -beziehung.

Tabelle 1->Gönner

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

Tabelle 2 ->patron_info

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

Der Administrator kann die Benutzer verwalten. Wenn sie sich dafür entscheiden, einen Benutzer zu entfernen, wird der Benutzer von der entferntTabelle 1 patrons. Zu diesem Zeitpunkt passiert nichtsTabelle 2 patron_info.

Ich versuche lediglich, einen Auslöser zum Löschen aus Tabelle 2 zu erstellen, wenn in Tabelle 1 ein Element gelöscht wurde. Folgendes habe ich versucht ...

Anfangs versuche ich den Abzug fallen zu lassen, wenn er existiert (nur um die Luft zu reinigen) ...

DROP TRIGGER IF EXISTS log_patron_delete;

Dann versuche ich den Trigger danach zu erstellen ...

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

Zu diesem Zeitpunkt erhalte ich einen Syntaxfehler1046: Check syntax near END on line 6. Ich weiß nicht, was der Fehler an dieser Stelle ist. Ich habe verschiedene Varianten ausprobiert. Muss ich hier auch ein Trennzeichen verwenden?

Kann mir jemand helfen, meine geistige Gesundheit wiederherzustellen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage