Heim  >  Artikel  >  Datenbank  >  So erstellen Sie einen MySQL-Datenbank-Trigger

So erstellen Sie einen MySQL-Datenbank-Trigger

WBOY
WBOYnach vorne
2023-05-31 19:31:354483Durchsuche

Was ist ein Auslöser?

Konzept: Trigger ist eine Methode, die Programmierern und Datenanalysten zur Verfügung gestellt wird, um die Datenintegrität sicherzustellen. Es handelt sich um eine spezielle gespeicherte Prozedur im Zusammenhang mit Tabellenereignissen. Ihre Ausführung wird nicht manuell gestartet Wird beispielsweise durch Ereignisse ausgelöst (Einfügen, Löschen, Aktualisieren), wird deren Ausführung aktiviert. Trigger werden häufig verwendet, um Datenintegritätseinschränkungen und Geschäftsregeln durchzusetzen. Durch Abfragen der Datenwörterbücher DBA_TRIGGERS und USER_TRIGGERS können Sie triggerbezogene Informationen erhalten. Ein SQL3-Trigger ist eine Anweisung, die vom System automatisch ausgeführt werden kann, um die Datenbank zu ändern.

Laienhaft ausgedrückt ist ein Auslöser ein Auslösegerät, und im Gerät ist ein Vorgang gespeichert. Sobald bestimmte Bedingungen erreicht sind, wird das Gerät ausgelöst und führt die darin gespeicherten Aktionen aus.

So erstellen Sie einen Trigger in der Datenbank

Erstellen Sie eine Triggerinstanz (Stichwort: Trigger)

Beispiel 1: Erstellen Sie eine Benutzertabelle (Benutzer-ID, Benutzername) und erstellen Sie einen Trigger (wenn Daten in die Benutzertabelle eingefügt werden). , automatisch eine global eindeutige ID generieren)

Erstellen Sie zuerst die Benutzertabelle

create table user(
id int PRIMARY KEY,
name varchar(20)
);

So erstellen Sie einen MySQL-Datenbank-Trigger

Erstellen Sie einen Trigger

-- 建立触发器名为tt
create TRIGGER tt
-- 触发条件,向user表中插入数据时启动触发器
BEFORE insert on user
-- 检查表中每一行,对新插入的数据进行操作
for EACH ROW
-- 执行操作
BEGIN 
set new.id=UUID();
END

Der soeben erstellte Trigger (sehen Sie sich den Code an, um die Trigger aller Trigger in der aktuellen Datenbank anzuzeigen)

So erstellen Sie einen MySQL-Datenbank-Trigger

Wirkung: Fügen Sie drei Benutzernamen in die Tabelle ein und generieren Sie automatisch drei IDs hinzugefügt wird, wird auch die Bestellung des Benutzers gelöscht) Erstellen Sie eine Tabelle

insert user(name) VALUE('张三'),('李四'),('王五')

So erstellen Sie einen MySQL-Datenbank-Trigger

Erstellen Sie einen Trigger

create table DD(
ddid int PRIMARY KEY,
ddname VARCHAR(20),
userid VARCHAR(50)
)

So erstellen Sie einen MySQL-Datenbank-Trigger

Fügen Sie zwei Daten zur Tabelle hinzu

So erstellen Sie einen MySQL-Datenbank-Trigger

Wirkung: Löschen Sie den Benutzer im Benutzer Tabelle, Der Datensatz in der dd-Tabelle wird ebenfalls gelöscht. Zhang San Ist das richtig? Bedeutet das, dass Trigger alles können, was Fremdschlüssel können?

So erstellen Sie einen MySQL-Datenbank-Trigger

Im Vergleich zu Fremdschlüsseln weisen Trigger eine höhere Flexibilität und mehr Funktionen auf und können mehr Funktionen ausführen. Bis zu einem gewissen Grad können Trigger Fremdschlüssel ersetzen und die Funktionen von Fremdschlüsseln realisieren.

So erstellen Sie einen MySQL-Datenbank-TriggerSie können Trigger verwenden, um die referenzielle Integrität durchzusetzen und sicherzustellen, dass beim Hinzufügen, Aktualisieren oder Löschen von Zeilen in mehreren Tabellen die zwischen diesen Tabellen definierten Beziehungen beibehalten werden. Das Definieren von Primärschlüssel- und Fremdschlüsseleinschränkungen ist der beste Weg, um die referenzielle Integrität sicherzustellen. Mithilfe von Beziehungsdiagrammen in einer Datenbank können Fremdschlüsseleinschränkungen automatisch erstellt werden, indem Beziehungen zwischen Tabellen hergestellt werden.

So erstellen Sie einen MySQL-Datenbank-Trigger

Zusammenfassung: Trigger können manchmal Fremdschlüssel ersetzen, aber nicht in allen Situationen. Fremdschlüssel und Trigger können auch zusammen verwendet werden

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen MySQL-Datenbank-Trigger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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