Nie, nie można przenosić rekordów w jednej instrukcji SQL. Musisz użyć INSERT
po którym następuje DELETE
oświadczenie. Powinieneś umieścić te oświadczenia w transakcji
, aby upewnić się, że operacja kopiowania pozostaje niepodzielna.
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;