MySQL触发器如果有多个表

时间:2015-06-10 10:42:50

标签: mysql

我会在inbox.ReceivingDateTime时插入表pesanbuku.tglexp_booking == now()

但是我遇到了问题,这是我的代码。

DELIMITER //
CREATE TRIGGER cekinbox BEFORE INSERT on inbox
BEGIN
IF pesanbuku.tglexp_booking = NOW() THEN
INSERT INTO inbox(ReceivingDateTime) values(NOW());
END IF;
END
DELIMITER

1 个答案:

答案 0 :(得分:0)

如果没有显示您的表架构,很难提供帮助。但是,如果您尝试测试存储在pesanbuku.tglexp_booking中的日期时间值,那么这将无法正常工作。您需要在IF中使用SELECT来获取特定值(而不是整列)。另外它的NOW()非常不可能匹配,因为这是第二个所以你可能想要一个范围。

首先创建一个名为@time的变量,如:

SET @time = SELECT tglexp_booking FROM pesanbuku WHERE something=true;
IF @time BETWEEN date1 AND date2 THEN
...