Loop в mysql 8.0.16

127
01 января 2021, 06:20

Нужно сделать цикл для одноразовой вставки множества записей в таблицу. Писал цикл по примеру из документации MySql, однако все равно получаю сразу несколько ошибок. "Statement is not complete: expecting ';'" в конце Values, а также на двух последних End получаю "Is not valid for this position".

create procedure insertWagon(places INT, i INT)
begin
    insertLoop: LOOP
    IF i < places THEN
        insert into ticketsaccounting (DepartureDateTime, WagonNumber, PlaceNumber, Price, WagonType, `Status`, Train)
               values ('2019-05-25 22:00:00', 1, i, 300, 1, 1, 0, 1);
        set i = i+1;
    end if;
    end loop insertLoop,
end;

Тоже самое с while и те же ошибки

create procedure insertWagon(places INT, i INT)
begin
    while(i < places) do
        insert into ticketsaccounting (DepartureDateTime, WagonNumber, PlaceNumber, Price, WagonType, `Status`, Train)
               values ('2019-05-25 22:00:00', 1, i, 300, 1, 1, 0, 1);
        set i = i+1;
    end while;
end;
Answer 1
SET SESSION cte_max_recursion_depth := GREATEST(100, @places - @i + 1);
WITH RECURSIVE cte AS ( SELECT @i i
                        UNION ALL
                        SELECT i+1 FROM cte WHERE i < @places )
insert into ticketsaccounting (DepartureDateTime, WagonNumber, PlaceNumber, Price, WagonType, `Status`, Train)
SELECT '2019-05-25 22:00:00', 1, i, 300, 1, 1, 0, 1
FROM cte;

И никакой процедуры не нужно...

READ ALSO
Array Select в php

Array Select в php

Предположи у меня есть массив такого формата

111
Как скорректировать работу sphinx?

Как скорректировать работу sphinx?

Есть таблица по которой идет поиск с помощью sphinx

98
Не срабатывает запрос на обновление

Не срабатывает запрос на обновление

Помогите понять почему не работает редактирование и добавление? В форму данные передаю, но потом не срабатывает имeнно updateВозможно логика...

125
Как работает эта функция?

Как работает эта функция?

В офдокументации PHP есть пример использования функции sort

128