Переместить данные из одной таблицы в другую - PullRequest
1 голос
/ 25 сентября 2011

На этот вопрос, кажется, ответили несколько раз.Однако ни один не соответствует критериям, которые мне нужны.

Можно ли выбрать (и вставить их в другую таблицу) и удалить строки из исходной таблицы в Mysql, не выполняя выбранные критерии дважды?

Например, я мог бы сделать это:

INSERT INTO main (SELECT * FROM temp WHERE age > 30)
DELETE FROM cache WHERE age > 30

Однако при очень сложном и длительном запросе «совпадающая часть» запроса будет выполнена дважды, хотя я думаю, что должно быть решение для удаления выбранных элементов, так как вы их уже выбралив любом случае.

Мой вопрос, возможно ли это, и если да.Как?

1 Ответ

0 голосов
/ 25 сентября 2011

Нет, ты не можешь этого сделать.

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

...