我已经为这个看似简单的任务工作了好几个小时而没有运气。
我有一个数据库测试,其中包含两个表:房间和预订。
在表会议室中,有一个名为 reserved_status 的列,其可能值为0和1. room_id 是其主键。
在表预订中,有 room_id 列,它引用表会议室
中的room_id基本上,我想创建一个触发器,只要表预订(如插入,更新或删除)发生变化,就会将 reserved_status 更新为1。 / p>
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'
我希望有人能为我提供合适的解决方案,谢谢...
答案 0 :(得分:1)
而不是NEW.reservation.room_id
使用NEW.room_id
,因为NEW
已经引用reservation
表中的新行。