如何在MySQL中实时触发?

时间:2017-04-25 10:49:14

标签: mysql

我目前正在开展一个小型航空公司项目,我一直坚持这个问题。 问题是当我们当前时间超过字段THOIGIANBAY(时间将飞行)时,我想将下表中的字段DABAY(状态)更新为1。 我在表格代码下面做了一个触发器,但它有错误的语法,但它不起作用。 谢谢大家帮忙!

CREATE TABLE chuyenbay ( 
    MACHUYENBAY varchar(5) NOT NULL,
    MAMAYBAY varchar(6) NOT NULL,
    SANBAYDI varchar(3) NOT NULL,
    SANBAYDEN varchar(3) NOT NULL,
    THOIGIANBAY datetime NOT NULL, --time will fly
    THOIGIANDEN datetime NOT NULL,
    TRANSITION varchar(3) DEFAULT NULL
    DABAY bit(1) DEFAULT '0'  --status
)

DELIMITER $$
CREATE TRIGGER CHUYENBAY_VE_capnhat_TRANGTHAI
AFTER INSERT ON chuyenbay
FOR EACH ROW
BEGIN
    DECLARE thoigianbandau datetime;
    SELECT THOIGIANBAY INTO @thoigianbandau
    FROM chuyenbay
    WHERE chuyenbay.MACHUYENBAY = inserted.MACHUYENBAY
    IF (NOW() > @thoigianbandau)
        THEN 
            UPDATE chuyenbay SET chuyenbay.DABAY = 1;
            UPDATE ve SET ve.TRANGTHAI = 2;
    END IF;
END; $$
DELIMITER ;

0 个答案:

没有答案