只是学习触发器,我创建了以下触发器;
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;
Run Code Online (Sandbox Code Playgroud)
但是,该值似乎没有得到更新.有任何想法吗?
我实际上已经设法解决了这个问题.这是更新的代码
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;
Run Code Online (Sandbox Code Playgroud)
我需要在第5行的列值之前指定表名.
看来您有一个错字。
您输入的增量带有尾随反引号,而不是用反引号括起来。
您的触发器现在可能绑定到一个名为的表incremental`
,我假设该表不存在。
既然你已经排除了上述情况。我发现缺少 UPDATE 关键字。UPDATE table
在 SET 行之前添加。将 table 替换为您的表的名称。
归档时间: |
|
查看次数: |
12440 次 |
最近记录: |