将行迁移到新表,然后删除它们

时间:2011-07-08 15:28:53

标签: php mysql database migration rows

我有一个庞大的产品数据库,我希望运行一个脚本,将带有active ='1'的行移动到新表中并删除原始行。

但我似乎找不到合适的Mysql命令来完成迁移。

如果有人能够了解情况会很好。

非常感谢

2 个答案:

答案 0 :(得分:0)

您应该可以使用以下

完成此操作
CREATE TABLE NewTable LIKE OldTable;

INSERT INTO NewTable 
SELECT * FROM OldTable WHERE Active = 1;

DELETE FROM OldTable WHERE Active = 1;

就像好奇心一样,这样做有什么意义?如果你担心模糊的行,你可以按如下方式进行删除

DELETE OldTab FROM OlTable AS OldTab
INNER JOIN NewTable AS NewTab
ON OldTab.ID = NewTab.ID

答案 1 :(得分:0)

没有任何细节,这是你要做的:

从旧表WHERE active = 1。

创建一个INSERT语句到新表AS SELECT

创建一个DELETE语句,从第一个表中删除它在第二个表中找到的任何行。

提交;