Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich eine Tabellenspalte in MySQL mithilfe eines After-Insert-Triggers korrekt?

Wie aktualisiere ich eine Tabellenspalte in MySQL mithilfe eines After-Insert-Triggers korrekt?

Barbara Streisand
Freigeben: 2024-11-26 07:23:11
Original
947 Leute haben es durchsucht

How to Correctly Update a Table Column in MySQL Using an After Insert Trigger?

MySQL nach dem Einfügen eines Triggers zum Aktualisieren der Spalte einer anderen Tabelle

Diese Abfrage versucht, einen Trigger in MySQL zu erstellen, der eine Spalte in der BookingRequest-Tabelle aktualisiert wenn eine Zeile in die OccupiedRoom-Tabelle eingefügt wird. Der bereitgestellte Trigger funktioniert jedoch nicht wie vorgesehen.

Um dieses Problem zu beheben, finden Sie hier eine korrigierte Version des Triggers:

DELIMITER $$
CREATE TRIGGER acquire_trig
AFTER FÜR JEDEN AUF OccupiedRoom EINFÜGEN REIHE
Anfang

   DECLARE id_exists Boolean;
   -- Check BookingRequest table
   SELECT 1
   INTO @id_exists
   FROM BookingRequest
   WHERE BookingRequest.idRequest= NEW.idRequest;

   IF @id_exists = 1
   THEN
       UPDATE BookingRequest
       SET status = '1'
       WHERE idRequest = NEW.idRequest;
    END IF;
Nach dem Login kopieren

ENDE;

$$ DELIMITER ; **Triggerdetails:** * Der Trigger wird mithilfe der Klausel „AFTER INSERT“ definiert, was bedeutet, dass er ausgeführt wird, nachdem eine Zeile in die Tabelle „OccupiedRoom“ eingefügt wurde. * Der Trigger verwendet eine „FOR EACH ROW“-Klausel, um jede eingefügte Zeile einzeln zu verarbeiten. * Im Abzugskörper: * Es deklariert eine boolesche Variable „@id_exists“, um zu prüfen, ob die „idRequest“ aus der eingefügten Zeile „OccupiedRoom“ in der Tabelle „BookingRequest“ vorhanden ist. * Es überprüft die Tabelle „BookingRequest“, um festzustellen, ob die „idRequest“ der neu eingefügten Zeile „OccupiedRoom“ vorhanden ist. Wenn dies der Fall ist, wird „@id_exists“ auf „1“ gesetzt. * Wenn „@id_exists“ „1“ ist, wird die Spalte „status“ in der Tabelle „BookingRequest“ auf „1“ aktualisiert, wobei „idRequest“ mit dem neuen „idRequest“ aus der Tabelle „OccupiedRoom“ übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich eine Tabellenspalte in MySQL mithilfe eines After-Insert-Triggers korrekt?. 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