Home > Database > Mysql Tutorial > How to Correctly Update a Table Column in MySQL Using an After Insert Trigger?

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

Barbara Streisand
Release: 2024-11-26 07:23:11
Original
973 people have browsed it

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

MySQL After Insert Trigger to Update Another Table's Column

This query attempts to create a trigger in MySQL that updates a column in the BookingRequest table when a row is inserted into the OccupiedRoom table. However, the provided trigger does not work as intended.

To fix this issue, here is a corrected version of the trigger:

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;
Copy after login

END;

$$ DELIMITER ; **Trigger Details:** * The trigger is defined using the `AFTER INSERT` clause, which means it executes after a row is inserted into the `OccupiedRoom` table. * The trigger uses a `FOR EACH ROW` clause to process each inserted row individually. * Inside the trigger body: * It declares a Boolean variable `@id_exists` to check if the `idRequest` from the inserted `OccupiedRoom` row exists in the `BookingRequest` table. * It checks the `BookingRequest` table to determine whether the `idRequest` of the newly inserted `OccupiedRoom` row exists. If it does, it sets `@id_exists` to `1`. * If `@id_exists` is `1`, it updates the `status` column in the `BookingRequest` table to '1' where the `idRequest` matches the new `idRequest` from the `OccupiedRoom` table.

The above is the detailed content of How to Correctly Update a Table Column in MySQL Using an After Insert Trigger?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template