我目前正在开展一个小型航空公司项目,我一直坚持这个问题。 问题是当我们当前时间超过字段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 ;