2016-01-24 171 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

非常感谢!这解决了它......老实说,我没有看到这种语法,这种简单的错误。 –

相关问题