Trigger zum Aktualisieren der Spalte einer anderen Tabelle
In Ihrer Datenbank gibt es drei Tabellen: BookingRequest, Status und OccupiedRoom. Sie möchten einen Trigger erstellen, der die Statusspalte in der BookingRequest-Tabelle auf „1“ ändert, wenn eine Anfrage mit derselben ID zur OccupiedRoom-Tabelle hinzugefügt wird.
Sie haben zuvor den folgenden Trigger versucht:
create trigger occupy_trig after insert on OccupiedRoom for each row begin if BookingRequest.idRequest= NEW.idRequest then update BookingRequest set status = '1'; where idRequest = NEW.idRequest; end if; END;
Es war jedoch erfolglos. Hier ist eine modifizierte Version, die funktionieren sollte:
DELIMITER $$ CREATE TRIGGER occupy_trig AFTER INSERT ON `OccupiedRoom` FOR EACH ROW begin 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; END; $$ DELIMITER ;
Erklärung:
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Trigger zum Aktualisieren einer Spalte in einer anderen Tabelle basierend auf einer INSERT-Operation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!