Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ich möchte einen Trigger zum LÖSCHEN von 2 Tabellen in MySQL

Aus zwei Tabellen gleichzeitig löschen mit einem Trigger:

Trigger werden verwendet, um die Datenintegrität in den Tabellen zu erzwingen. Sie können Trigger verwenden, um aus einer beliebigen Anzahl von Tabellen gleichzeitig zu löschen.

Vor dem Initialisieren von Triggern müssen wir den mysql-Trennzeichenoperator vorübergehend ändern, da Trigger Semikolon ; verwenden Operator, um mehrere SQL-Befehle innerhalb des Triggers anzugeben.

Schritt 1 Aktuelles Trennzeichen ändern:

delimiter $$

Schritt 2 Auslöser erstellen:

CREATE TRIGGER `blog_before_delete`     
  AFTER DELETE ON `blog`     
  FOR EACH ROW     
BEGIN
  DELETE FROM blog_tags where blogid = OLD.id;
  DELETE FROM blog_comments where blogid = OLD.id;
END
$$

Schritt 3 Vorheriges Trennzeichen wiederherstellen:

delimiter ;

Erklärung:

OLD ist ein eingebautes Schlüsselwort und bezieht sich auf die Blog-Tabellenzeile, die wir löschen. MySQL führt den Trigger blog_before_delete aus wenn wir einen Eintrag in der Blog-Tabelle löschen. Wenn der Trigger fehlschlägt, wird das Löschen rückgängig gemacht. Dies trägt dazu bei, Atomizität, Konsistenz, Isolierung und Dauerhaftigkeit sicherzustellen in unserer Datenbank.