蠕虫复制能快速的往表中增添数据,一般用于表结构稳定性测试。
test1 和test2 的表结构:
id name gender age
假设test1 有一条记录,test2 没有记录。
对test2 进行蠕虫复制:
1)从test1 获取原始数据(test1 和test2 的结构必须相同)
INSERT INTO test2 SELECT * FROM test1;
此时,test2 记录数为 1。
2)test2 蠕虫复制操作:
INSERT INTO test2 SELECT * FROM test2;
此时,test2 记录数为2。
INSERT INTO test2 SELECT * FROM test2;
此时,test2 记录数为4。
INSERT INTO test2 SELECT * FROM test2;
此时,test2 记录数为8。
......
记录数数量从 1-2-4-8-16-32-64......增长。
注:若test1 含有主键不能直接进行蠕虫复制,会造成主键冲突。若test2 表的id 为主键时:
解决方案:SQL命令中不包含id 字段
INSERT INTO test2(name,gender,age) SELECT name,gender,age FROM test2;