本人菜鸟,想到一个笨办法 用insert select 就是 INSERT INTO tb_name (colll.....) SELECT colll.... FROM tb_name; 然后多执行几次,数量就很快多起来了
建一个表t_tmp,两个字段fid,fforeign_key_id id 设为自增长,foreign_key_id外键引用100条记录的表t_table。 第一步insert into t_tmp (fforeign_key_id) select fid from t_table;第二步:insert into t_tmp (fforeign_key_id) from t_table inner join t_tmp on t_tmp.fforeign_key_id=t_tmp.fid;这一步t_tmp中将会是指数增长。第三步:等t_tmp中记录达到100000条后 执行以下语句insert into t_copy_to_table (...fields) select t_table.* from t_table inner join t_tmp on t_tmp.fforeign_key_id=t_tmp.fid
第二步有误:应该是insert into t_tmp (fforeign_key_id) select t_table.fid from t_table inner join t_tmp on t_tmp.fforeign_key_id=t_tmp.fid;
用insert select
就是
INSERT INTO tb_name (colll.....) SELECT colll.... FROM tb_name;
然后多执行几次,数量就很快多起来了
id 设为自增长,foreign_key_id外键引用100条记录的表t_table。
第一步insert into
t_tmp
(fforeign_key_id)
select
fid
from
t_table;第二步:insert into
t_tmp
(fforeign_key_id)
from
t_table
inner join
t_tmp
on
t_tmp.fforeign_key_id=t_tmp.fid;这一步t_tmp中将会是指数增长。第三步:等t_tmp中记录达到100000条后
执行以下语句insert into
t_copy_to_table
(...fields)
select
t_table.*
from
t_table
inner join
t_tmp
on
t_tmp.fforeign_key_id=t_tmp.fid
t_tmp
(fforeign_key_id)
select
t_table.fid
from
t_table
inner join
t_tmp
on
t_tmp.fforeign_key_id=t_tmp.fid;
多执行几遍就成.