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

Equivalente alla clausola di restituzione di MySQL

Sfortunatamente, non puoi eseguire sia l'inserimento che l'eliminazione in una query , ma puoi fare tutto in un'unica transazione se stai utilizzando un motore di negozio transazionale (come InnoDB). Inoltre, RETURNING è supportato da Oracle e PostgreSQL ma non da MySQL e quindi è necessario scrivere delete separato e insert dichiarazioni.

L'utilizzo di una transazione, tuttavia, garantirà che solo i dati copiati correttamente verranno eliminati dalla tabellaA. Considera quanto segue:

begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;