Mysql
 sql >> Database >  >> RDS >> Mysql

È possibile spostare un record da una tabella all'altra utilizzando una singola istruzione SQL?

No, non puoi spostare i record in un'istruzione SQL. Devi usare un INSERT seguito da un DELETE dichiarazione. Dovresti racchiudere queste istruzioni in una transazione , per assicurarsi che l'operazione di copia rimanga atomica.

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;