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
Wenn Sie einige 64-Bit-Anwendungen (wie 64-Bit-JD...
Der spezifische Code lautet wie folgt: <a href...
Dieser Artikel beschreibt anhand von Beispielen d...
Verwenden Sie Indizes, um Abfragen zu beschleunig...
Wenn Sie eine E-Mail in einem Shell-Skript erstel...
Das Formular bietet zwei Möglichkeiten zur Datenüb...
Heutzutage ist es für Websites Standard, SSL zu a...
Vorwort Lassen Sie es mich hier zunächst erklären...
Inhaltsverzeichnis Kartenstaat Kartengetter Karte...
Nach dem Einrichten des MySQL-Master-Slaves wisse...
Inhaltsverzeichnis 01 Was ist das Wesen eines Con...
Als ich kürzlich lernte, wie man webpack verwende...
Inhaltsverzeichnis Vorwort Einschränkungen prüfen...
[Wer ist nslookup?] 】 Der Befehl nslookup ist ein...
Die Bedeutung von Datenkonsistenz und -integrität...