创建触发器Mysql

时间:2016-07-06 16:54:18

标签: mysql

在表中插入Aluguel更新字段状态为忙。

不行。

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 ;

2 个答案:

答案 0 :(得分:0)

你必须使用新的关键词

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 ;

答案 1 :(得分:0)

要引用您要插入的表格中的列,您需要使用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 ;

DEMO