По сути мне нужна была рекурсивная функция, но я прочитал что функции в mysql не могут быть рекурсивными, так что сделал процедуру. Только она не работает почему-то...
create table test (id int, next_id int null default null);
insert into test values (1, 2), (2, 3), (3, null);
create procedure getLastId(in in_id int, out out_id int)
begin
set max_sp_recursion_depth = 50;
select next_id into out_id from test where id = in_id;
if not out_id is null then
call getLastId(out_id, out_id);
end if;
end;
set @out_id = null;
call getLastId(1, @out_id);
select @out_id;
Выбирается null. А должно 3. Почему так происходит?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости