2016-01-24 170 views
0

我一直在爲這個看似簡單的任務工作幾個小時,但沒有運氣。MySQL觸發器根據另一個表上的更改更新表格

我有一個數據庫,測試,其中包含兩個表:房間預訂

在表有一個名爲reserved_status與0和1 ROOM_ID是其主鍵的可能值列中。

在表預約,有ROOM_ID柱,它指的是ROOM_ID從表

基本上,我想創建一個觸發器,該更新reserved_status爲1,每當表保留(如插入,更新或刪除)有變化。

下面的查詢實際上是接受在phpMyAdmin:

DELIMITER $$ 
CREATE TRIGGER reserved_status_insert AFTER 
INSERT ON 
reservation FOR EACH ROW 
BEGIN 
UPDATE 
room 
SET 
room_reserved = 1 
WHERE 
room_id = NEW.reservation.room_id ; 
END $$ 
DELIMITER ; 

然而,當我嘗試做一個插入操作,它給了我這個錯誤:

Unknown column 'NEW.reservation.room_id' in 'where clause' 

我希望有人能向我提供一個合適的解決方案,謝謝...

回答

1

而不是NEW.reservation.room_id使用NEW.room_id,因爲NEW已經指的是th在reservation表中的新行。

+0

非常感謝!這解決了它......老實說,我沒有看到這種語法,這種簡單的錯誤。 –

相關問題