首頁 > 資料庫 > mysql教程 > 如何使用插入後觸發器正確更新 MySQL 中的表格列?

如何使用插入後觸發器正確更新 MySQL 中的表格列?

Barbara Streisand
發布: 2024-11-26 07:23:11
原創
957 人瀏覽過

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

插入觸發器後更新另一個表的列

此查詢嘗試在MySQL 中建立一個觸發器來更新BookingRequest 表中的列當一行插入OccupiedRoom 表。但是,提供的觸發器無法如預期運作。

要解決此問題,這裡是觸發器的更正版本:

DELIMITER $$
CREATE TRIGGER佔領_trig
AFTER插入每個佔用的房間ROW
開始

   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;

$$ 分隔符號; **觸發詳情:** * 觸發器是使用「AFTER INSERT」子句定義的,這表示它在將行插入「OccupiedRoom」表後執行。 * 觸發器使用「FOR EACH ROW」子句單獨處理每個插入的行。 * 扳機體內: * 它宣告一個布林變數`@id_exists`來檢查插入的`OccupiedRoom`行中的`idRequest`是否存在於`BookingRequest`表中。 * 檢查`BookingRequest`表以確定新插入的`OccupiedRoom`行的`idRequest`是否存在。如果是,它將`@id_exists`設為`1`。 * 如果“@id_exists”為“1”,則會將“BookingRequest”表中的“status”欄位更新為“1”,其中“idRequest”與“OccupiedRoom”表中的新“idRequest”相符。

以上是如何使用插入後觸發器正確更新 MySQL 中的表格列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板