यह एक ऐसा समाधान है जहाँ आप अपनी तालिका में कई फ़ील्ड रखते हैं और सभी फ़ील्ड टाइप करने से एक उंगली की ऐंठन प्राप्त नहीं करना चाहते हैं, बस उन लोगों में टाइप करें जो आवश्यक हैं :)
कुछ पंक्तियों को एक ही तालिका में कैसे कॉपी करें, कुछ क्षेत्रों में अलग-अलग मान हैं:
- सभी पंक्तियों के साथ एक अस्थायी तालिका बनाएं जिसे आप कॉपी करना चाहते हैं
- इच्छित तालिका के साथ अस्थायी तालिका में सभी पंक्तियों को अपडेट करें
- यदि आपके पास एक ऑटो वेतन वृद्धि क्षेत्र है, तो आपको इसे अस्थायी तालिका में NULL पर सेट करना चाहिए
- अस्थायी तालिका की सभी पंक्तियों को अपनी मूल तालिका में कॉपी करें
- अस्थायी तालिका हटाएं
तुम्हारा कोड:
CREATE table temporary_table AS SELECT * FROM original_table WHERE Event_ID="155";
UPDATE temporary_table SET Event_ID="120";
UPDATE temporary_table SET ID=NULL
INSERT INTO original_table SELECT * FROM temporary_table;
DROP TABLE temporary_table
सामान्य परिदृश्य कोड:
CREATE table temporary_table AS SELECT * FROM original_table WHERE <conditions>;
UPDATE temporary_table SET <fieldx>=<valuex>, <fieldy>=<valuey>, ...;
UPDATE temporary_table SET <auto_inc_field>=NULL;
INSERT INTO original_table SELECT * FROM temporary_table;
DROP TABLE temporary_table
सरलीकृत / संघनित कोड:
CREATE TEMPORARY TABLE temporary_table AS SELECT * FROM original_table WHERE <conditions>;
UPDATE temporary_table SET <auto_inc_field>=NULL, <fieldx>=<valuex>, <fieldy>=<valuey>, ...;
INSERT INTO original_table SELECT * FROM temporary_table;
चूंकि अस्थायी तालिका का निर्माण TEMPORARY
कीवर्ड का उपयोग करता है, यह सत्र समाप्त होने पर स्वचालित रूप से हटा दिया जाएगा (जैसा कि @ ar34z ने सुझाव दिया है)।