在mysql 8.0中,新建一个使用参数的触发器

在mysql 8.0 中,触发器里的参数不需要使用declare先定义。直接@parm就可以使用。 因为触发器不支持显示输出的 select ,所以给变量赋值时不要直接select @parm=xx,这样会报错。而是要使用select xx into @parm。

CREATE DEFINER=`root`@`localhost` TRIGGER `trg_ins` BEFORE INSERT ON `table` FOR EACH ROW BEGIN

if length(coalesce(new.sn,))<3 then select sn into from database.table where id = new.id; set new.sn = @sn; end if;

END

在mysql 8.0 中,触发器里的参数不需要使用declare先定义。直接@parm就可以使用。 因为触发器不支持显示输出的 select ,所以给变量赋值时不要直接select @parm=xx,这样会报错。而是要使用select xx into @parm。 CREATE DEFINER=`root`@`localhost` TRIGGER `trg_ins` BEFORE INSERT ON `table` FOR EACH ROW BEGIN if length(coalesce(new.sn,))<3 then select sn into from database.table where id = new.id; set new.sn = @sn; end if; END
经验分享 程序员 微信小程序 职场和发展