[英]MySQL Column Update with trigger
我的预订表具有RESERVATION_ID , ROOM_NUM, Date_Start , Date_End and cost columns
。 我想要做的是插入除成本以外的所有列,并自动填充成本。
delimiter //
CREATE TRIGGER upd_check before INSERT ON reservation
FOR EACH ROW
BEGIN
IF NEW.RESERVATION_COST = NULL THEN
SET NEW.RESERVATION_COST = 'timestampdiff(day, NEW.RESERVATION_STARTD, NEW.RESERVATION_ENDD)*70';
END IF;
END;//
delimiter ;
我编写了此trigger
来做到这一点,但是每当我按Apply(应用)插入所有内容时,什么都不会插入RESERVATION_COST
列。
为什么?
如果我有足够的声誉,我会对此发表评论,但是无论如何。 触发器不能作用于激活它们的同一表。 似乎有限制,但我们遇到了同样的问题。
该链接没有明确说明这一点,但确实说“在关联表中”。 不一样: https : //dev.mysql.com/doc/refman/5.0/en/triggers.html
您不能将值与NULL
比较,而需要检查它是否为IS NULL
。
例如
IF NEW.RESERVATION_COST IS NULL THEN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.