Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich eine Spalte mithilfe eines MySQL-Triggers automatisch mit dem ID-Wert?

Wie aktualisiere ich eine Spalte mithilfe eines MySQL-Triggers automatisch mit dem ID-Wert?

Susan Sarandon
Freigeben: 2024-11-07 19:36:02
Original
263 Leute haben es durchsucht

How to Automatically Update a Column with the ID Value Using a MySQL Trigger?

Verwenden eines MySQL-Triggers zum Aktualisieren einer Spalte mit dem ID-Wert

MySQL-Trigger ermöglichen es Ihnen, bestimmte Aktionen automatisch auszuführen, wenn bestimmte Ereignisse in auftreten eine Datenbanktabelle. In diesem Fall möchten wir einen Trigger erstellen, der den Wert einer Spalte auf den Wert der neu eingefügten Datensatz-ID aktualisiert, wenn die Spalte null ist.

Die SQL-Anweisung zum Erstellen eines solchen Triggers würde wie folgt aussehen:

CREATE TRIGGER [trigger_name] BEFORE INSERT ON [table_name]
FOR EACH ROW BEGIN
  IF NEW.group_id IS NULL THEN
    SET NEW.group_id = NEW.id;
  END IF;
END
Nach dem Login kopieren

Dieser Trigger wird vor jedem INSERT-Vorgang für die angegebene Tabelle ausgelöst. Es prüft, ob die Spalte „group_id“ für den neuen Datensatz null ist. Wenn ja, wird die Gruppen-ID auf den Wert der ID-Spalte gesetzt, bei der es sich um den automatisch generierten Primärschlüssel handelt.

Beispiel

Betrachten Sie die folgende Tabelle:

CREATE TABLE table_name (
  id INT NOT NULL AUTO_INCREMENT,
  group_id INT NULL,
  value VARCHAR(255) NOT NULL,
  PRIMARY KEY (id)
);
Nach dem Login kopieren

Beim Einfügen eines Datensatzes mit einer angegebenen Gruppen-ID:

INSERT INTO table_name(value, group_id) VALUES ('a', 10);
Nach dem Login kopieren

Der Trigger wird nicht ausgeführt und die Daten werden wie erwartet eingefügt:

id | group_id | value
---+----------+------
 1 |       10 | a
Nach dem Login kopieren

Allerdings , beim Einfügen eines Datensatzes ohne Angabe von Gruppen-ID:

INSERT INTO table_name(value) VALUES ('b');
Nach dem Login kopieren

Der Trigger wird ausgelöst und setzt die Gruppen-ID auf die ID des neu eingefügten Datensatzes:

id | group_id | value
---+----------+------
 2 |        2 | b
Nach dem Login kopieren

Hinweis: Es ist wichtig sicherzustellen, dass der Trigger die Spalte „group_id“ nur dann aktualisiert, wenn sie null ist, um ein Überschreiben vorhandener Werte zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Spalte mithilfe eines MySQL-Triggers automatisch mit dem ID-Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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 Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage