mysql
drop trigger if exists t_afterinsert_invitation_trigger ;
delimiter $$
create trigger t_afterinsert_invitation_trigger
after insert on invitation_trigger
for each row
begin
declare _mid int;
declare _parent_level int;
declare _mids int;
declare _l int;
declare _r varchar(50);
set _mid = new.mid;
set _parent_level = new.midlevel;
set _mids = new.mids;
insert into `test`.`invitation` (`id`, `mid`, `midlevel`, `mids`, `midslevel`) values (new.id, _mid, _parent_level, _mids, new.midslevel);update invitation _up inner join (select t2.midfrom ( select _r as _mids, (select _r = mid from invitation where mids = _mids) as mid, _l = _l + 1 as lvl from (select _r = new.mid, _l = 0) vars, invitation h where _r 0) t1 join invitation t2 on t1._mids = t2.mids and t2.midlevel > new.midlevelorder by t1.lvl asc) bon _up.mid = b.midset _up.midlevel = new.midlevel;insert into `test`.`invitation` (`id`, `mid`, `midlevel`, `mids`, `midslevel`) values ('42', '14', '2', '43', '3');
end$$
delimiter ;
