Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-il possible de déplacer un enregistrement d'une table à une autre à l'aide d'une seule instruction SQL ?

Non, vous ne pouvez pas déplacer des enregistrements dans une instruction SQL. Vous devez utiliser un INSERT suivi d'un DELETE déclaration. Vous devez encapsuler ces instructions dans une transaction , pour s'assurer que l'opération de copie reste atomique.

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;