私はMySqlの完全な初心者なので、優しくしてください。
RETURNING
Oracle の句やSQL Server のテーブルに相当するものがInserted'/'Deleted
MySQL にありますか? 私がやりたいことは次のとおりです。
- テーブルAから行セットを削除する
削除した行セットをテーブル B に挿入します。
助けてください!
ありがとう
ベストアンサー1
残念ながら、挿入と削除の両方を行うことはできません。1つのクエリ、しかし、あなたはそれをすべて1つで行うことができます取引トランザクション ストア エンジン (InnoDB など) を使用している場合。さらに、はOracle と PostgreSQL ではサポートされていますが、MySQL ではサポートされていないため、別のステートメントとステートメントRETURNING
を記述する必要があります。delete
insert
ただし、トランザクションを使用すると、正常にコピーされたデータのみが tableA から削除されることが保証されます。次の点を考慮してください。
begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;