我正在尝试在第一个触发器的第二个表中使用属性。为此,我尝试将该值加载到变量中,然后将其用作比较。但是,每当我尝试测试过程时,比较结果都是错误的。
DELIMITER $$
create trigger evolve_persona before update on phantom_thieves
for each row begin
set @t := (select tier from persona where pname = old.persona);
if((new.persona != old.persona) and (select cast(@t as unsigned) = '1')) then
set
new.st = old.st+10, new.ma = old.ma+10, new.en= old.en+10, new.ag= old.ag+10,
new.lu= old.lu+20;
end if;
end$$
DELIMITER ;
我看不到您的触发器有什么错,但是,在注释中写起来这有点复杂。
请关注
SET @t = -1;
SELECT @t; -- returns -1
update phantom_thieves SET .....
SELECT @t; -should display at sometime 1
这似乎是tier没有响应1的唯一问题,通过上面的,您可以看到得到的结果。