2013-07-01 30 views
0

我正在尋找一種方法,我可以複製我的數據庫中的所有行,我試圖導出它,然後導入,但我得到重複鍵錯誤。重複在同一個表中的所有數據MYSQL

原因純粹是爲了測試的目的,我只是想在那裏加載一個虛擬數據來測試我所擁有的系統。

有沒有直接的聲明呢?還是有辦法導出除ID之外的所有數據(或將ID更改爲MAX(ID) + 1AUTO INCREMENT)?

回答

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替換爲上述代碼中的實際表名稱&重複執行代碼,直到它滿足所需的行號。我認爲它應該工作。

+0

作品非常感謝! – Adam

2

放1條記錄,然後運行:

insert into mytable select * from mytable 

10倍。這會給你1024條記錄。繼續直到滿意。

+0

仍然返回#1062 - 重複鍵'1''PRIMARY' – Adam

+0

啊,所以你有主鍵?那麼,讓AUTOINCREMENT在INSERT和SELECT中指定字段列表。 –

+0

發佈它的結構,我會給你確切的查詢。 –

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) 
相關問題