DELIMITER $$
create procedure randUser(in row_num int, in cuser varchar(32))
begin
declare id varchar(32);
declare counter int default 0;
set @pre_sql = "insert into user_info(id,user_id,user_name,create_user) values ";
set @exec_sql = @pre_sql;
repeat
set @exec_sql = concat(@exec_sql,"('",replace(uuid(),'-',''),"','",concat('userid',count+1),"','",concat('username',count+1),"','",cuser,'),");
set counter=counter+1;
if counter mod 1000 = 0 or counter >= row_num then
set @exec_sql = substring(@exec_sql, 1, char_length(@exec_sql)-1);
prepare stmt from @exec_sql;
execute stmt;
deallocate prepare stmt;
if counter < row_num then
set @exec_sql = @pre_sql;
end if;
end if;
until counter >= row_num
end repeat;
end$$
DELIMITER ;
call randUser(100000, 'userid00000');
select @exec_sql;
drop procedure randUser;