Перенос строк в новую таблицу с последующим удалением - PullRequest
1 голос
/ 08 июля 2011

У меня большая база данных продуктов, и каждый день я хочу запустить скрипт, который перемещает строки с активным = '1' в новую таблицу и удаляет исходную строку.

Но я не могу найти подходящую команду Mysql для выполнения миграции.

Было бы замечательно, если бы кто-то мог пролить свет на ситуацию.

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

без каких-либо подробностей, вот что вы будете делать:

создать инструкцию INSERT для новой таблицы AS SELECT из старой таблицы WHERE active = 1.

создать инструкцию DELETE, которая удаляет из первой таблицы все строки, найденные во второй таблице.

фиксации;

0 голосов
/ 08 июля 2011

Вы должны быть в состоянии завершить это со следующим

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...