Как вставить в таблицу MySQL некоторое количество строк с помощью одного запроса SQL

0

Я встретил некоторую ситуацию, когда мне нужно вставить несколько строк в таблицу mysql с одним запросом sql. С php это просто, но мне нужно сделать это только с запросом sql. Есть что-то вроде "for" в mysql?

  • 0
    В MySQL 8.0 да. В противном случае нет. Но обычно вам не нужно ничего подобного, чтобы вставить несколько строк
  • 0
    @Strawberry Спасибо. И как это "для" выглядит. Например, если я хочу вставить 100 строк с одинаковыми значениями?
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Да, вы можете сделать это, возможно, это будет полезно для вас.

drop procedure if exists load_foo_test_data;

delimiter #
create procedure load_foo_test_data()
begin

declare v_max int unsigned default 1000;
declare v_counter int unsigned default 0;

    truncate table foo;
    start transaction;
    while v_counter < v_max do
        insert into foo (val) values ( floor(0 + (rand() * 65535)) );
        set v_counter=v_counter+1;
    end while;
    commit;
end #
delimiter ;

call load_foo_test_data();

select * from foo order by id;
  • 0
    Спасибо. это помогает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню