दुर्भाग्य से, आप एक प्रश्न . में सम्मिलन और विलोपन दोनों नहीं कर सकते हैं , लेकिन आप यह सब एक लेन-देन . में कर सकते हैं यदि आप एक ट्रांजेक्शनल स्टोर इंजन (जैसे InnoDB) का उपयोग कर रहे हैं। इसके अलावा, RETURNING
Oracle और PostgreSQL द्वारा समर्थित है लेकिन MySQL द्वारा नहीं और इसलिए आपको अलग से लिखने की आवश्यकता है delete
और insert
बयान।
हालांकि, लेन-देन का उपयोग करना गारंटी देगा कि केवल सफलतापूर्वक कॉपी किया गया डेटा टेबल ए से हटा दिया जाएगा। निम्नलिखित पर विचार करें:
begin transaction;
insert into tableB select * from tableA where 'your_condition_here';
delete from tableA where 'your_condition_here';
commit;