SQL -Trigger ist eine SQL-Anweisung oder eine Liste von SQL-Anweisungen , die gespeichert werden, um dann ausgelöst, wenn die erforderlichen Voraussetzungen erreicht werden wird . Die Bedingungen kann jedes Ereignis wie INSERT sein , UPDATE und DELETE . Ein Trigger kann auch eine bestimmte Art von gespeicherte Prozedur sein. MySQL unterstützt die SQL-Trigger -Funktion seit der Version 5.0.2 . Allerdings ist MySQL nicht zulassen, einen Trigger, um eine gespeicherte Prozedur aufrufen oder erstellen Sie einen Trigger für Ansichten . Drupal arbeitet mit MySQL-Datenbank , und daher können Sie MySQL Trigger in Drupal Website-Entwicklung zu nutzen. Erstellen von Tabellen mit phpMyAdmin
Melden Sie sich bei Ihrem PHPMyAdmin als Root-Benutzer . Erstellen Sie eine Datenbank, indem Sie einen Namen wie " Forum " in das Textfeld unter " Neue Datenbank erstellen . " Klicken Sie auf Erstellen, um es zu schaffen. Erstellen Sie neue Tabellen "user " und " trigger_table . " Geben Sie ihren Namen und die Anzahl der Felder . Klicken Sie auf " Go", um Tabellen zu erstellen.
Erstellen von Feldern für die Tables
Eingabefeld und wählen Sie Feldtyp für jedes Feld in den beiden Tabellen . Erstellen Sie drei Felder in der Tabelle user , nämlich als username VARCHAR , Passwort als VARCHAR und E-Mail als VARCHAR . Erstellen Sie zwei Felder in trigger_table : sowohl Benutzernamen und E-Mail werden als Typ VARCHAR angegeben
Erstellen MySQL -Trigger in T- SQL-Abfrage in phpMyAdmin
Klicken Sie auf " Query. "und geben Sie den folgenden Code:
" Drop -Trigger IF EXISTS forum.catch_insert ;
CREATE TRIGGER forum.catch_insert BEFORE INSERT ON forum.user
FÜR JEDEN ROW
BEGIN
INSERT INTO forum.trigger_table (Zeit, E-Mail) VALUES ( "INSERT " , NOW () , CURRENT_USER () , new.email );
END "
In der oben erwähnten Code wird ein Auslöser namens " catch_insert " erstellt . Auf der Drupal-Website , wenn Benutzer auf dem Forum registrieren, erhalten ihre Informationen in "user" -Tabelle in MySQL angehängt werden. Mit diesem Trigger , bevor der Benutzer Informationen in die Tabelle eingefügt Benutzer ist, wird sie gefangen und in die trigger_table .
Ausführung des Triggers
auf "Go ", um führen Sie den Auslöser. Klicken Sie auf die "user" -Tabelle und finden Sie den " Trigger" Abschnitt . Sie können sehen, catch_insert mit Event wird erstellt "INSERT . " Gehen Sie zu Ihrer Drupal-Website Frontend und registrieren Sie einen neuen Benutzer. Legen Sie Ihren Benutzernamen , Passwort und E-Mail -Adresse ein. Klicken Sie auf das trigger_table und klicken Sie dann auf " Durchsuchen", um die neu eingefügten Daten anzuzeigen.