在 MySQL 触发器中将值设置为变量

Set Value to Variable in MySQL Trigger

我创建一个 MySql 触发器并声明一个变量。然后我有一些条件。 if 内部不能为 if 外部声明的变量设置值。这是可能的?因为我需要那个可变数据到另一个函数。我总是得到 null。

这是我的示例代码 设置查询在执行时获取值

delimiter $$
CREATE TRIGGER Table1INSERTCustomer
    AFTER INSERT ON Table1
    FOR EACH ROW

BEGIN

DECLARE CustomerId integer;

IF (SELECT CustomerID FROM Seller WHERE Id = NEW.ResellerID AND CustomerID IS NOT NULL) 
THEN 
BEGIN

SET @CustomerId := (SELECT CustomerID FROM Seller WHERE Id = NEW.ResellerID LIMIT 1); <-- This is Problem

END; 
END IF;

END; 
$$ 

非常感谢

建模示例。

create table test1 (id int, val int);
insert into test1 values (1,11), (2,22);
select * from test1;
id | val
-: | --:
 1 |  11
 2 |  22
create table test2 (id int, val int);
create trigger tr 
after insert on test2
for each row
select test1.val into @var 
from test1 
where test1.id = NEW.id;
insert into test2 values (1,111);
select * from test1;
id | val
-: | --:
 1 |  11
 2 |  22
select * from test2;
id | val
-: | --:
 1 | 111
select @var;
| @var |
| ---: |
|   11 |

db<>fiddle here

学习。申请。