Не, не можете да премествате записи в един SQL израз. Трябва да използвате INSERT
последвано от DELETE
изявление. Трябва да обвиете тези изявления в транзакция
, за да се уверите, че операцията за копиране остава атомарна.
START TRANSACTION;
INSERT INTO
new_table
SELECT
*
FROM
old_table
WHERE
some_field = 'your_criteria';
DELETE FROM old_table WHERE some_field = 'your_criteria';
COMMIT;