Heim  >  Artikel  >  Datenbank  >  Vollständige Beherrschung der MySQL-Trigger

Vollständige Beherrschung der MySQL-Trigger

WBOY
WBOYnach vorne
2022-06-28 15:25:392742Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er organisiert hauptsächlich Probleme im Zusammenhang mit Triggern, einschließlich der Frage, warum Trigger benötigt werden, einer Übersicht über Trigger, der Erstellung von Triggern usw. Werfen wir einen Blick darauf hilft allen.

Vollständige Beherrschung der MySQL-Trigger

Empfohlenes Lernen: MySQL-Video-Tutorial

1. Warum Trigger benötigt werden

Einige Tabellen sind miteinander verknüpft, z. B. die Produkttabelle und die Inventartabelle. Wir verarbeiten die Daten der Produkttabelle Die Inventartabelle muss geändert werden, um die Integrität der Daten sicherzustellen. Es wäre problematischer, wenn wir es selbst manuell pflegen würden.
Zu diesem Zeitpunkt können wir Trigger verwenden, um einen Trigger zu erstellen, sodass der Einfügevorgang von Produktinformationsdaten automatisch den Einfügevorgang von Bestandsdaten usw. auslöst, sodass wir uns keine Sorgen über Datenverlust aufgrund von Vergessen machen müssen Inventardaten hinzufügen.

2. Überblick über Trigger

  • MySQL unterstützt Trigger ab Version 5.0.2
  • MySQL-Trigger sind wie gespeicherte Prozeduren ein in den MySQL-Server eingebettetes Programm Zu diesen Ereignissen gehören Einfügungs-, Lösch- und Aktualisierungsereignisse. Wenn das Triggerprogramm definiert ist, entspricht die Ausführung dieser Anweisungen durch die Datenbank dem Auftreten eines Ereignisses, und der Trigger wird automatisch ausgelöst, um die entsprechende Operation auszuführen
  • Wenn wir beim Einfügen von Daten in eine Tabelle in der Datenbank automatisch eine Datenbanklogik ausführen müssen, können wir Trigger verwenden, um dies zu erreichen.
  • 3. Erstellung von Triggern
  • 3.1 Syntax

Trigger wirken sich auf die Tabelle aus. Wir möchten beispielsweise, dass die Ausführung des Triggers ausgelöst wird, wenn ein neuer Datensatz zu Tabelle A hinzugefügt wird der Trigger. Ob der Trigger vor oder nach der Ausführung der Einfügeanweisung ausgeführt wird.

für jede Zeile gibt an, dass jedes Mal, wenn ein Ereignis (Einfügen, Aktualisieren oder Löschen) ausgeführt wird, ein Trigger ausgelöst wird

CREATE TRIGGER 触发器名称 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
FOR EACH ROW 触发器执行的语句块;
    Beschreibung:

Tabellenname: Zeigt die Triggerüberwachung an Objekt.

  • VOR|NACH: Gibt die Auslösezeit an. BEFORE bedeutet Trigger vor dem Ereignis; AFTER bedeutet Trigger nach dem Ereignis. 表名:表示触发器监控的对象。

  • BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。

  • INSERT|UPDATE|DELETE:表示触发的事件。

    • INSERT 表示插入记录时触发;
    • UPDATE 表示更新记录时触发;
    • DELETE 表示删除记录时触发。
  • 触发器执行的语句块

INSERT|UPDATE|DELETE: Zeigt das ausgelöste Ereignis an.

INSERT bedeutet Auslösen, wenn ein Datensatz eingefügt wird;

UPDATE bedeutet Auslösen, wenn ein Datensatz aktualisiert wird;
Vollständige Beherrschung der MySQL-TriggerDELETE bedeutet Auslösen, wenn ein Datensatz gelöscht wird.
Vollständige Beherrschung der MySQL-Trigger

Durch Trigger ausgeführter Anweisungsblock: Es kann sich um eine einzelne SQL-Anweisung oder einen zusammengesetzten Anweisungsblock handeln, der aus der Struktur BEGIN...END besteht.
  • 3.2 Falldemonstration
Bereiten Sie zuerst die Tabelle vor

CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));
Vollständige Beherrschung der MySQL-TriggerAnforderungen: Erstellen Sie einen Trigger: Erstellen Sie einen Trigger mit dem Namen before_insert. Bevor Sie Daten in die Datentabelle test_trigger einfügen, fügen Sie die Protokollinformationen before_insert in die Datentabelle test_trigger_log ein.

4. Trigger anzeigen Vollständige Beherrschung der MySQL-Trigger

    Beim Anzeigen von Triggern werden die Definition, der Status und die Syntaxinformationen von Triggern angezeigt, die bereits in der Datenbank vorhanden sind.
  • Methode 1: Anzeigen der Definitionen aller Trigger in der aktuellen Datenbank

show triggers\G 注意,在SQLyog中,不能加上\G

Methode 2: Sehen Sie sich die Definition eines Triggers in der aktuellen Datenbank an

show create trigger 触发器名
🎜🎜🎜🎜🎜Methode 3: Fragen Sie die Informationen des „salary_check_trigger“-Triggers aus der TRIGGERS-Tabelle der Systembibliothek information_schema ab🎜🎜
SELECT * FROM information_schema.TRIGGERS;
🎜 5. Trigger löschen🎜🎜Trigger sind auch Datenbankobjekte und Trigger werden auch mit der Drop-Anweisung gelöscht🎜
drop trigger if exists 触发器名;
🎜Empfohlenes Lernen: 🎜MySQL-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonVollständige Beherrschung der MySQL-Trigger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen