首先说需求,我想重复插入大量数据,那么首先想到的,就是用insert into select语句。
但是因为mysql中没有将主键设为自增长,导致每次都会报主键冲突的错误,插入失败。
对于这个问题,就是灵活得改变一下。之前,我们一直用的是 insert into tableA select * frrom tableA
因此,现在我们修改为:insert into tableA(A,B,C) (select (A,B,C) from tableA)
或者,在数据库中,写一个存储过程,然后通过调用它,实现目的。
代码 :
drop PROCEDURE testPRO;
CREATE PROCEDURE testPRO()
BEGIN
DECLARE a INT DEFAULT 1;
WHILE (a <= 40) DO
INSERT into tableA(A,B,C) VALUES(1','2','3');
set a = a+1;
END WHILE;
END
//调用此存储过程
call testPRO();