MySQL触发更新,从另一个表中选择
问题描述:
只是了解触发器,我创建了以下触发器;MySQL触发更新,从另一个表中选择
CREATE TRIGGER `incremental_before_ins_tr` BEFORE INSERT ON incremental`
FOR EACH ROW
BEGIN
SET NEW.source = (Select source from crm_record
where msisdn = new.msisdn order by dat DESC limit 1);
END;
但是,该值似乎没有得到更新。有任何想法吗?
答
看起来像你有一个错字。
您已经输入了增量后跟反引号而不是反引号。
您的触发器现在可能绑定到名为incremental`
的表格,而我假设该表格不存在。
既然你已经排除了上述情况。我看到UPDATE关键字缺失。在SET行之前添加UPDATE table
。用表格名称替换表格。
答
我已经设法自己解决这个问题。以下是更新后的代码
CREATE TRIGGER `incremental_before_ins_tr` BEFORE INSERT ON `incremental`
FOR EACH ROW
BEGIN
SET NEW.source = (Select source from crm_record
where crm_record.msisdn = new.msisdn order by dat DESC limit 1);
END;
我需要指定之前,第5行
列值表名称这实际上是在这个条目中的错字,它被绑定到正确的表 – Michael 2011-05-18 20:13:36
我更新帖子。这应该为你清理一些事情。 – Jrod 2011-05-18 20:35:53
尝试过,并得到以下错误**无法更新存储的函数/触发器中的表增量,因为它已被调用此函数/触发器的语句使用** – Michael 2011-05-19 07:04:01