我想知道是否有可能使mysql触发器在5.1中自动完成一个日期字段与一个可变天数的初始化日期输入。
类似这样:MySQL将天数添加到日期,但是与相应字段匹配的天数而不是静态数字。
下面是我的意思的一个例子:
示例表
理想情况下,我希望在"退房"中有一个字段"返回日期",根据预订的退房日期和租赁类型自动完成。因此,例如,对于ISBN 123,返回日期应该是7月2日。
在触发器中,您可以选择所需的值并将其传递给下一个语句——example——
DROP TRIGGER IF EXISTS TEST_INSERT;
DELIMITER $$
CREATE TRIGGER TEST_INSERT AFTER INSERT ON TEST FOR EACH ROW BEGIN
SET v_date = (SELECT val FROM TABLE );
UPDATE TEST SET date = date + v_date where id = 161;
END$$
必须在插入之前更新触发器中的'new'值,否则查询将继续调用自己并崩溃。
下面还包含了声明变量的正确语法。
DELIMITER $$
CREATE TRIGGER Rental_INSERT BEFORE INSERT ON Rental
FOR EACH ROW
BEGIN
DECLARE v INTEGER;
SET v := (SELECT val (in days)
FROM Rental_Days
WHERE Rental_Days.attribute = NEW.attribute);
UPDATE Rental SET New.return_date = FROM_DAYS(TO_DAYS(New.borrowed_date) + v);
END;
$$