MySQL触发器根据另一个表上的更改更新表格
问题描述:
我一直在为这个看似简单的任务工作几个小时,但没有运气。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'
我希望有人能向我提供一个合适的解决方案,谢谢...
答
而不是NEW.reservation.room_id
使用NEW.room_id
,因为NEW
已经指的是th在reservation
表中的新行。
非常感谢!这解决了它......老实说,我没有看到这种语法,这种简单的错误。 –