Heim > Datenbank > MySQL-Tutorial > Wie lösche ich mithilfe von MySQL-Triggern korrekt Daten aus einer Tabelle, nachdem ich sie aus einer anderen gelöscht habe?

Wie lösche ich mithilfe von MySQL-Triggern korrekt Daten aus einer Tabelle, nachdem ich sie aus einer anderen gelöscht habe?

Linda Hamilton
Freigeben: 2024-11-03 16:25:03
Original
486 Leute haben es durchsucht

How to Correctly Delete Data from One Table After Deleting from Another Using MySQL Triggers?

MySQL-Trigger: Löschen aus einer Tabelle nach dem Löschen aus einer anderen

Problem:

Sie Sie möchten einen Trigger erstellen, der automatisch Zeilen aus Tabelle 2 (patron_info) löscht, wenn eine Zeile aus Tabelle 1 (patrons) gelöscht wird. Beim Erstellen des Triggers tritt jedoch ein Syntaxfehler auf.

Lösung:

Der Fehler wird wahrscheinlich durch eine falsche Syntax in der DELETE-Anweisung innerhalb des Triggers verursacht . Insbesondere müssen Sie „old.id“ anstelle von „patrons.id“ verwenden, um auf die ID der gelöschten Zeile zu verweisen, gemäß dem folgenden Auslöser:

<code class="sql">CREATE TRIGGER log_patron_delete AFTER DELETE ON patrons
FOR EACH ROW
BEGIN
  DELETE FROM patron_info
  WHERE patron_info.pid = old.id;
END</code>
Nach dem Login kopieren

Stellen Sie sicher, dass Sie Folgendes einschließen: am Ende der DELETE-Anweisung und überprüfen Sie auch die korrekte Syntax an anderen Teilen des Triggers.

Denken Sie außerdem daran, Trennzeichen zu verwenden, wenn Sie den Triggercode in ein Konsolenfenster eingeben. Sie können beispielsweise $ als Trennzeichen verwenden, etwa so:

<code class="sql">DELIMITER $

CREATE TRIGGER log_patron_delete AFTER DELETE ON patrons
FOR EACH ROW
BEGIN
  DELETE FROM patron_info
  WHERE patron_info.pid = old.id;
END$

DELIMITER ;

$</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lösche ich mithilfe von MySQL-Triggern korrekt Daten aus einer Tabelle, nachdem ich sie aus einer anderen gelöscht habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage