只是学习触发器,我创建了以下触发器;
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 次 |
| 最近记录: |