我正在寻找一种可以复制数据库中所有行的方法,我尝试导出它然后导入但是我得到了重复键错误。
原因纯粹是出于测试目的,我只想在那里加载一些虚拟数据来测试我的系统。
是否有直接声明?或者有没有办法导出除ID以外的所有数据(或将ID更改为MAX(ID) + 1
或AUTO INCREMENT
)?
答案 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)