创建触发器Mysql
将表Aluguel更新字段中的状态插入到忙后。创建触发器Mysql
不工作。
DELIMITER $$
CREATE TRIGGER Tgr_Status_Update AFTER INSERT
ON aluguel
FOR EACH ROW
BEGIN
UPDATE apartamento SET status_apart = busy
WHERE id_apart = apartamento_id_apart;
END$$
DELIMITER ;
,你必须使用新的关键字
DELIMITER $$ CREATE TRIGGER Tgr_Status_Update AFTER UPDATE
ON aluguel FOR EACH ROW
BEGIN UPDATE apartamento SET status_apart = new.busy
WHERE id_apart = new.apartamento_id_apart;
END$$ DELIMITER ;
----------------------------- ----------插入触发器-----------------
DELIMITER $$ CREATE TRIGGER Tgr_Status_Insert AFTER INSERT
ON aluguel FOR EACH ROW
BEGIN UPDATE apartamento SET status_apart = new.busy
WHERE id_apart = new.apartamento_id_apart;
END$$ DELIMITER ;
要引用要插入到表中的列,你需要使用NEW.column_name
。
如果busy
是一个字符串,则需要将其放在引号中。
DELIMITER $$
CREATE TRIGGER Tgr_Status_Update AFTER INSERT
ON aluguel
FOR EACH ROW
BEGIN
UPDATE apartamento SET status_apart = 'busy'
WHERE id_apart = NEW.apartamento_id_apart;
END$$
DELIMITER ;
我无法将status_apart字段更新为'忙' –
它需要在引号中。 – Barmar
插入后。他将apartamento_id_apart的Aluguel桌子与Apartamento桌子的id_part进行比较。只是不要工作。 –
也许这应该是'WHERE id_apart = NEW.apartamento_id_apart'? – Barmar