我有一个庞大的产品数据库,我希望运行一个脚本,将带有active ='1'的行移动到新表中并删除原始行。
但我似乎找不到合适的Mysql命令来完成迁移。
如果有人能够了解情况会很好。
非常感谢
答案 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语句,从第一个表中删除它在第二个表中找到的任何行。
提交;