在MySql中建立存储过程和解决insert into select 中主键冲突的问题
首先说需求,我想重复插入大量数据,那么首先想到的,就是用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();
?
FROM http://blog.csdn.net/angus_17/article/details/8020833