MySQL - 将行从一个表移动到另一个表但使用新ID

时间:2016-11-03 09:55:33

标签: php html mysql sql

我想创建一个脚本,在完成此操作后将一行从一个表移动到另一个表我想要更改ID并在新表中使用新行。

因为当我将行从一个表移动到另一个表时,它会显示重复的ID,因为它已经被使用但现在已被删除。

一个表是主表,另一个表是存档,当我从PHP脚本单击还原时,它会将存档移回主数据库。

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

如果存档中的ID为127,但我在归档后在主数据库中创建了一条新记录,则无法恢复,因为主数据库正在使用ID 127。导致重复ID问题。

1 个答案:

答案 0 :(得分:2)

试试这个:

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...
)