Heim > Datenbank > MySQL-Tutorial > Was sind die Anweisungen von MySQL-Abfragetriggern?

Was sind die Anweisungen von MySQL-Abfragetriggern?

青灯夜游
Freigeben: 2022-06-14 15:57:03
Original
6146 Leute haben es durchsucht

Es gibt zwei Anweisungen für MySQL-Abfragetrigger: 1. „SHOW TRIGGERS [FROM Datenbankname];“-Anweisung, mit der die grundlegenden Informationen der aktuellen Datenbank oder des angegebenen Datenbanktriggers angezeigt werden können. 2. Die Anweisung „SELECT * FROM information_schema.triggers WHERE trigger_name= ‚trigger name‘;“ wird verwendet, um die Informationen eines bestimmten Triggers anzuzeigen und den Inhalt des Triggers und seiner Metadaten, wie den zugehörigen Tabellennamen und Definierer, abzurufen.

Was sind die Anweisungen von MySQL-Abfragetriggern?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Das Anzeigen von Triggern bezieht sich auf das Anzeigen der Definition, des Status und der Syntaxinformationen von Triggern, die bereits in der Datenbank vorhanden sind.

Es gibt zwei Möglichkeiten, Trigger in MySQL anzuzeigen:

  • SHOW TRIGGERS-Anweisung

  • Fragen Sie die Trigger-Datentabelle unter der Datenbank „information_schema“ usw. ab.

1. SHOW TRIGGERS-Anweisung, um Triggerinformationen anzuzeigen

In MySQL können Sie die grundlegenden Informationen von Triggern über die SHOW TRIGGERS-Anweisung anzeigen. Das Syntaxformat lautet wie folgt:

SHOW TRIGGERS [FROM 数据库名];
Nach dem Login kopieren

FROM 数据库名: Dies ist eine optionale Anweisung, wenn Sie alle Trigger in der aktuellen Datenbank anzeigen möchten , lassen Sie es weg; wenn Sie bestimmte Auslöser in der Datenbank erhalten möchten, lassen Sie sie nicht weg und geben Sie den Datenbanknamen an.

Beispiel 1

Erstellen Sie zunächst ein Datentabellenkonto. Die Tabelle enthält zwei Felder: „acnum“ vom Typ „INT“ und „amount“ vom Typ „DECIMAL“. Die SQL-Anweisung und die Ausführungsergebnisse lauten wie folgt:

mysql> CREATE TABLE account(
    -> accnum INT(4),
    -> amount DECIMAL(10,2));
Query OK, 0 rows affected (0.49 sec)
Nach dem Login kopieren

Erstellen Sie einen Trigger mit dem Namen trigupdate und fügen Sie jedes Mal, wenn die Kontotabelle Daten aktualisiert, ein Datenelement in die myevent-Datentabelle ein. Die SQL-Anweisung und die Ausführungsergebnisse zum Erstellen der Datentabelle myevent lauten wie folgt:

mysql> CREATE TABLE myevent(
    -> id INT(11) DEFAULT NULL,
    -> evtname CHAR(20) DEFAULT NULL);
Query OK, 0 rows affected (0.26 sec)
Nach dem Login kopieren

Der SQL-Code zum Erstellen des Trigupdate-Triggers lautet wie folgt:

mysql> CREATE TRIGGER trigupdate AFTER UPDATE ON account
    -> FOR EACH ROW INSERT INTO myevent VALUES(1,'after update');
Query OK, 0 rows affected (0.15 sec)
Nach dem Login kopieren

Verwenden Sie die SHOW TRIGGERS-Anweisung, um den Trigger anzuzeigen (fügen Sie G nach SHOW TRIGGERS hinzu Befehl, damit die angezeigten Informationen besser organisiert werden), lauten die SQL-Anweisungen und laufenden Ergebnisse wie folgt:

mysql> SHOW TRIGGERS \G
Nach dem Login kopieren

Was sind die Anweisungen von MySQL-Abfragetriggern?

Sie können die grundlegenden Informationen des Triggers aus den laufenden Ergebnissen sehen. Die Beschreibung der oben angezeigten Informationen lautet wie folgt:

  • Trigger stellt den Namen des Triggers dar, hier ist der Name des Triggers trigupdate;

  • Event stellt das Ereignis dar, das den Trigger aktiviert, hier ist das auslösende Ereignis die Aktualisierungsoperation UPDATE;

  • Tabelle stellt die Operationsobjekttabelle dar, die den Trigger aktiviert, hier ist die Kontotabelle;

  • Anweisung stellt die vom Trigger ausgeführte Operation dar, hier wird ein Datenelement in die Myevent-Daten eingefügt Tabelle;

  • Timing stellt die Auslösung des Triggers dar. Die Zeit hier ist nach dem Aktualisierungsvorgang (AFTER);

  • Es gibt auch einige andere Informationen, wie z. B. die Erstellungszeit des Triggers, den SQL-Modus und das Definitionskonto und Zeichensatz des Triggers usw., die hier nicht einzeln vorgestellt werden. Die Anweisung

SHOW TRIGGERS wird verwendet, um Informationen zu allen derzeit erstellten Triggern anzuzeigen. Da diese Anweisung den angegebenen Trigger nicht abfragen kann, ist es praktisch, diese Anweisung zu verwenden, wenn nur wenige Trigger vorhanden sind. Wenn Sie Informationen zu einem bestimmten Trigger anzeigen möchten oder die Datenbank viele Trigger enthält, können Sie diese direkt in der Trigger-Datentabelle in der Datenbank „information_schema“ durchsuchen.

2. Triggerinformationen in der Triggertabelle anzeigen

In MySQL werden alle Triggerinformationen in der Triggertabelle der Datenbank „information_schema“ gespeichert. Die spezifische Syntax lautet wie folgt :

SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名';
Nach dem Login kopieren

Dabei wird „Triggername“ verwendet, um den Namen des anzuzeigenden Triggers anzugeben und muss in einfache Anführungszeichen gesetzt werden. Diese Methode kann den angegebenen Trigger abfragen, was bequemer und flexibler zu verwenden ist.

Auf diese Weise können Sie den Inhalt des Triggers und seine Metadaten anzeigen, z. B. den zugehörigen Tabellennamen und den Definierer, bei dem es sich um den Namen des MySQL-Benutzers handelt, der den Trigger erstellt hat.

Beispiel 2

Im Folgenden wird der SELECT-Befehl verwendet, um den Trigupdate-Trigger anzuzeigen. Die SQL-Anweisung lautet wie folgt:

SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
Nach dem Login kopieren

Der obige Befehl verwendet WHERE, um den Namen des Triggers anzugeben, der angezeigt werden muss Das Ergebnis ist wie folgt:

mysql> SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME= 'trigupdate'\G
Nach dem Login kopieren

Was sind die Anweisungen von MySQL-Abfragetriggern?

Durch Ausführen Als Ergebnis können Sie die Details des Auslösers sehen. Die Beschreibung der oben angezeigten Informationen lautet wie folgt:

  • TRIGGER_SCHEMA stellt die Datenbank dar, in der sich der Trigger befindet;

  • TRIGGER_NAME stellt den Namen des Triggers dar;

  • EVENT_OBJECT_TABLE stellt dar, in welcher Datentabelle sich der Trigger befindet ;

  • ACTION_STATEMENT stellt die spezifische Operation dar, die ausgeführt wird, wenn der Auslöser ausgelöst wird;

  • Der Wert von ACTION_ORIENTATION ist ROW, was bedeutet, dass er bei jedem Datensatz ausgelöst wird;

  • und einige andere Informationen, wie Trigger-Erstellungszeit, SQL-Modus, Trigger-Definitionskonto und Zeichensatz usw., werden hier nicht einzeln vorgestellt.

上述 SQL 语句也可以不指定触发器名称,这样将查看所有的触发器,SQL 语句如下:

SELECT * FROM information_schema.triggers \G
Nach dem Login kopieren

这个语句会显示 triggers 数据表中所有的触发器信息。

【相关推荐:mysql视频教程

Das obige ist der detaillierte Inhalt vonWas sind die Anweisungen von MySQL-Abfragetriggern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage