MySQL创建存储过程批量插入10万条数据
存储过程1、首先防止主键冲突,我们清空表。
TRUNCATE table A_student;
2、编写存储过程
delimiter ‘$’;
CREATE PROCEDURE batchInsert(in args int)
BEGIN
declare i int default 1;
start TRANSACTION;
while i <= args DO
insert into A_student(id,name) VALUES (i, concat(“陈瓜皮-”, i));
set i = i+1;
end while;
COMMIT;
end
$
3、调用存储过程 call batchInsert(100000);
10万条数据大概4秒能完成。
注意:有的语句是不能加分号, 否则会报语法错误。
比如CREATE PROCEDURE …,BEGIN,while i <= args DO
有的语句是不能少分号。
比如end while;COMMIT;
所有操作都是在Navicat中进行的。