SQL-Anweisung DROP-TRIGGER WENN EXISTIERT sys_menu_edit; Erstellen Sie den Trigger sys_menu_edit vor dem Update auf sys_menu für jede Zeile BEGINNEN INSERT INTO `g4m`.`sys_log` ( `table_name`, `val_id`, `data_json` ) WERTE ( "sys_menü", alte.id, KONKAT( "{", CONCAT_WS( ',', CONCAT_WS(alte.id, '"id":"', '"' ), CONCAT_WS(alter.CODE, '"Code":"', '"'), CONCAT_WS( alt.type_dic, '"type_dic":"', '"' ), CONCAT_WS(alter.NAME, '"name":"', '"' ), CONCAT_WS(alte.pid, '"pid":"', '"'), CONCAT_WS( alt.status_dic, '"status_dic":"', '"' ), CONCAT_WS(alte.URL, '"URL":"', '"'), CONCAT_WS(alter.Pfad, '"Pfad":"', '"' ), CONCAT_WS(altes Symbol, '"Symbol":"', '"'), CONCAT_WS(alt.sort, '"sort":"', '"'), CONCAT_WS( alte.Anmerkung, '"Anmerkung":"', '"' ), CONCAT_WS( alt.Erstellungszeit, '"Erstellungszeit":"', '"' ), CONCAT_WS( alt.modify_uer_id, '"modify_uer_id":"', '"' ), CONCAT_WS( alt.Änderungszeit, '"Änderungszeit":"', '"' ) ), "}" ) ); MySQL verwendet Trigger zur Implementierung der Protokollierung
Insgesamt gibt es zwei Tabellen, eine ist die ursprüngliche Tabelle „News“ und die andere ist die Protokolltabelle „news_logs“ (mit einer zusätzlichen Datumsspalte), die automatisch Protokolle aufzeichnen kann, wenn neue Einträge eingefügt werden, ohne dass Code geschrieben werden muss. Ebenso können Sie beim Aktualisieren auch Update-Logs einfügen. Näheres dazu finden Sie in der MySQL-Dokumentation. MySQL verwendet Trigger zum Aufzeichnen von Vorgängen MySQL kann Einfüge-, Aktualisierungs- und Löschvorgänge nicht in einem Trigger ausführen. Sie müssen drei Trigger separat erstellen. Trigger einfügen: Trennzeichen $$ Trigger tri_city_insert erstellen nach dem Einfügen auf t_xfw_city für jede Zeile beginnen einfügen in t_tri_city(id,name,provinceid,ctype) Werte(neue.ID, neuer.Name, neue.Provinz-ID, 1); Ende Auslöser der Aktualisierung: Trennzeichen $$ Trigger „tri_city_update“ erstellen nach dem Update auf t_xfw_city für jede Zeile beginnen einfügen in t_tri_city(id,name,provinceid,ctype) Werte(neue.ID, neuer.Name, neue.Provinz-ID, 2); Ende Auslöser löschen: Trennzeichen $$ Trigger tri_city_delete erstellen nach dem Löschen auf t_xfw_city für jede Zeile beginnen einfügen in t_tri_city(id,name,provinceid,ctype) Werte (alte ID, alter Name, alte Provinz-ID, 3); Ende Es ist etwas mühsam, drei Trigger für eine Tabelle zu erstellen. Ich frage mich, ob es einen besseren Weg gibt. Das könnte Sie auch interessieren:
|
<<: Grundlegende Ideen und Codes zur Implementierung von Videoplayern in Browsern
>>: Javascript zum Wechseln von Bildern per Mausklick
In diesem Artikelbeispiel wird der spezifische Co...
1. Packen Sie das Java-Projekt in ein JAR-Paket H...
Ich bin bei der Entwicklung eines Projekts schon ...
1. Verwenden Sie Pseudoklassen, um die Hälfte des...
Sie wissen vielleicht bereits, dass die Länge 1 v...
Während der Systemwartung müssen Sie möglicherwei...
MySQL-Batch-Einfügeproblem Da bei der Entwicklung...
Integritätsbeschränkungen Integritätsbedingungen ...
Die Aufgabe der Parallelitätskontrolle in einem D...
In diesem Artikel werden hauptsächlich die Unters...
Vorwort Je nach Projektbedarf wird Vue-Touch verw...
Ergebnis:Implementierungscode html <ul Klasse=...
1. Traditionelle Binlog-Master-Slave-Replikation,...
Installieren Sie MySQL und machen Sie sich Notize...
Diese Datenbankabfrageanweisung ist eine von 50 D...