CREATE TABLE `test` (
`id` char(21) NOT NULL,
`name` varchar(22) NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB;
drop PROCEDURE IF EXISTS insert_test ;
CREATE PROCEDURE insert_test (in max_num int(10))
BEGIN
DECLARE i int default 0;
# 设置自动提交为false
# set autocommit = 0;
# 开启循环
REPEAT
set i = i+1;
#
insert into test(id)values(concat(FROM_UNIXTIME(unix_timestamp(now()),'%Y%m%d%H%i%S'),LPAD(FLOOR(RAND() * 10000),4,'0'),LPAD(FLOOR(RAND() * 1000),3,'0')));
UNTIL i = max_num
END REPEAT;
END
--先把结束符恢复为 ;
# delimiter ;
--调用进程
call insert_test(10000);
//生成百万条数据,4分钟左右可完成
drop PROCEDURE IF EXISTS insert_test ;
CREATE PROCEDURE insert_test ()
BEGIN
DECLARE i int default 0;
# 设置自动提交为false
# set autocommit = 0;
# 开启循环
REPEAT
set i = i+1;
insert into test(id)values(concat(17052013141,LPAD(i,6,'0')));
UNTIL i = 999999
END REPEAT;
END
call insert_test();