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
/******************** * Zeichengerätetreiber*****...
Dies ist ein Problem, das leicht übersehen wird. ...
Laden eines oder mehrerer Features <Vorlage>...
<br />Ich werde mit diesem Problem im Grunde...
Nachteile von Tabellen 1. Tabellen nehmen mehr Byt...
1. Docker-Installation und -Einstellungen #Instal...
Inhaltsverzeichnis 1. Vorstellen gemäß der Bestel...
Ich habe vor Kurzem eine visuelle Operationsplatt...
In diesem Artikel wird der spezifische JavaScript...
1. Welche Zeilenformate gibt es? Sie können Ihre ...
Beim Überprüfen der langsamen Abfrage stellte ich...
Heute zeige ich Ihnen einen Neon-Button-Animation...
1. Konfiguration der Serverumgebung: 1. Überprüfe...
In diesem Artikelbeispiel wird der spezifische Co...
Standardisierte Designlösungen – Auszeichnungsspr...