复制同一个表MYSQL中的所有数据

时间:2013-07-01 15:06:41

标签: mysql sql duplicate-data

我正在寻找一种可以复制数据库中所有行的方法,我尝试导出它然后导入但是我得到了重复键错误。

原因纯粹是出于测试目的,我只想在那里加载一些虚拟数据来测试我的系统。

是否有直接声明?或者有没有办法导出除ID以外的所有数据(或将ID更改为MAX(ID) + 1AUTO INCREMENT)?

3 个答案:

答案 0 :(得分:2)

输入1条记录,然后运行:

insert into mytable select * from mytable

10次。这将为您提供1024条记录。继续直到满意为止。

答案 1 :(得分:2)

你可以试试这个:

INSERT INTO your_table_name(parent_id,priority,text,shortname,weighting,g_or_a,
     dept,ksf,day_start,day_end,date_start,date_end,depends_on,is_question,budget,
     ccode,responsible,accountable,consulted,informed)
(SELECT parent_id,priority,text,shortname,weighting,g_or_a,dept,ksf,
    day_start,day_end,date_start,date_end,depends_on,is_question,budget,ccode,
    responsible,accountable,consulted,informed FROM your_table_name);

首先,在表'your_table_name'中插入一行。将your_table_name替换为上述代码中的实际表名称&重复执行代码,直到满足所需的行号。我认为它应该有用。

答案 2 :(得分:0)

您可以使用INSERT,值为SELECT,只是不要选择主键,也不要在插入字段中定义。

想象一下包含3个字段的表the_pk, field_1, field_2

这样的东西
INSERT INTO the_table(field_1, field_2) (SELECT field_1, field_2 FROM the_table)