2016-11-03 51 views
0

我想創建一個腳本,將一行從一個表移動到另一個表時,我想要更改ID並使用新的ID在新表中。MySQL - 將行從一個表移動到另一個表,但使用新的ID

因爲當我將行從一個表移動到另一個表時,它表示重複ID,因爲它已被使用,但現在被刪除。

一張表是另一張存檔的主表,當我點擊從PHP腳本恢復時,它會將存檔移回主數據庫。

<---Main Database--->   <---Archive---> 
ID       ID 
Title       Title 

如果ID在歸檔是127,但我已經把它封存起來也無法恢復爲ID 127是由主數據庫使用後創建了主數據庫的新紀錄。導致重複ID問題。

+7

請分享相關的表結構和您的查詢 – 1000111

+1

你就不能忽略的ID列,當你移動的行? –

+2

如果ID列是新表中的自動增量列,那麼您只需從要添加到該表中的列/值列表中省略該列。 – PaulF

回答

1

試試這個:

INSERT into 
    new_table (
     `column1`, `column2` -- and all other columns except id 
    ) 
(SELECT `column1`, `column2` -- and all other columns in old_table except id 
FROM 
    old_table 
-- if you have WHERE clause do it here... 
)  
相關問題