2016-11-03 52 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... 
)  
相关问题