我有一个大的产品数据库,每天我希望运行一个脚本,将具有active = '1'的行移动到一个新表中,并删除原始行。
但是我似乎找不到合适的Mysql命令来完成迁移。
如果有人能说明一下情况就太好了。
Thanks to lot
您应该能够使用以下命令完成此操作
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
没有任何细节,下面是你要做的:
创建一个INSERT语句到新表,如SELECT from旧表WHERE active = 1.
创建一个DELETE语句,从第一个表中删除它在第二个表中找到的所有行。
提交;