Dieser Artikel veranschaulicht anhand von Beispielen die Syntax und Anwendung von MySQL-Triggern. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Beispiel: Erstellen eines Triggers zum Aufzeichnen von Operationen zum Hinzufügen, Löschen und Ändern von Tabellen //Benutzertabelle erstellen; DROP TABLE, WENN `Benutzer` EXISTIERT; CREATE TABLE `Benutzer` ( `id` bigint(20) NICHT NULL AUTO_INCREMENT, `Konto` varchar(255) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `Adresse` varchar(255) DEFAULT NULL, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; //Erstellen Sie eine Verlaufstabelle für Benutzertabellenoperationen. DROP TABLE IF EXISTS `user_history`; CREATE TABLE `user_history` ( `id` bigint(20) NICHT NULL AUTO_INCREMENT, `user_id` bigint(20) NICHT NULL, `operatetype` varchar(200) NICHT NULL, `operatetime` datetime NICHT NULL, PRIMÄRSCHLÜSSEL (`id`) )ENGINE=InnoDB STANDARD-CHARSET=utf8; DELIMITER: Ändern Sie das Eingabeabschlusszeichen. Standardmäßig ist das Eingabeabschlusszeichen ein Semikolon;. Hier wird es in zwei Semikolons;; geändert. Der Zweck besteht darin, mehrere Anweisungen mit Semikolons zu kapseln und sie zusammen auszuführen, nachdem alle eingegeben wurden, anstatt sie automatisch auszuführen, wenn das Standard-Semikolonabschlusszeichen gefunden wird.
EINFÜGEN: TRIGGER LÖSCHEN, WENN `tri_insert_user` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE TRIGGER `tri_insert_user` NACH DEM INSERT AUF `user` FÜR JEDE ZEILE begin INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (new.id, 'Benutzer hinzufügen', now()); Ende ;; TRENNUNGSZEICHEN ; AKTUALISIEREN: TRIGGER LÖSCHEN, WENN `tri_update_user` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_update_user` NACH DEM UPDATE AUF `user` FÜR JEDE ZEILE begin INSERT INTO user_history(user_id,operatetype,operatetime) VALUES (new.id, 'einen Benutzer aktualisieren', now()); Ende ;; TRENNUNGSZEICHEN ; LÖSCHEN: TRIGGER LÖSCHEN, WENN `tri_delete_user` EXISTIERT; TRENNUNGSZEICHEN ;; ERSTELLEN SIE DEN TRIGGER `tri_delete_user` NACH DEM LÖSCHEN AUF `user` FÜR JEDE ZEILE begin INSERT INTO user_history(user_id, operatetype, operatetime) VALUES (old.id, 'Benutzer löschen', now()); Ende ;; TRENNUNGSZEICHEN ; Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Verwenden von js, um den Effekt eines Karussells zu erzielen
>>: Beispielcode zum Partitionieren und Formatieren einer Festplatte größer als 20 TB auf CentOS6
In Anwendungen mit Paging-Abfragen sind Abfragen,...
Dieser Artikel stellt häufige Probleme von Xshell...
Inhaltsverzeichnis 1. Installation 2. Importieren...
Vorwort Wir alle wissen, dass man QR-Codes in off...
Eine interessante Entdeckung: Es gibt eine Tabell...
Drei Möglichkeiten, CSS einzuführen 1. Inline-Sti...
Erste Methode : CSS Code: Code kopieren Der Code l...
Dieser Artikel veranschaulicht anhand eines Beisp...
Nutzungsszenario: Wir verwenden Alibaba Cloud und...
Inhaltsverzeichnis Einleitung Nginx-Dockerdatei N...
Vorwort Wenn es um Datenbanktransaktionen geht, f...
Manchmal müssen Sie beim Anfordern bestimmter Sch...
1. Befehlseinführung Der Befehl userdel (User Del...
<br />Verwandter Artikel: Analyse der Inform...
In diesem Artikelbeispiel wird der spezifische Co...