"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > MySQL में लोड डेटा INFILE के साथ ऑटो-इंक्रीमेंट फ़ील्ड कैसे भरें?

MySQL में लोड डेटा INFILE के साथ ऑटो-इंक्रीमेंट फ़ील्ड कैसे भरें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:936

How to Populate Auto-Increment Fields with LOAD DATA INFILE in MySQL?

MySQL में लोड डेटा INFILE के साथ ऑटो-इंक्रीमेंट फ़ील्ड को पॉप्युलेट करना

मौजूदा तालिका के साथ काम करते समय जहां आईडी कॉलम एक ऑटो-इंक्रीमेंट फ़ील्ड है, लोड के माध्यम से डेटा आयात करना डेटा INFILE एक चुनौती पैदा कर सकता है। यह आलेख ऐसे परिदृश्यों को संभालने के लिए एक कुशल समाधान प्रदान करता है।

स्पष्टता के लिए, निम्नलिखित तालिका संरचना पर विचार करें:

---------------------
ID | AField | BField|
---------------------

जहां आईडी एक ऑटो-इंक्रीमेंट फ़ील्ड है।

एक CSV फ़ाइल बनाने के लिए जो सक्षम करती है डेटाबेस में आईडी फ़ील्ड को ऑटो-इंक्रीमेंट नंबरों के साथ ऑटो-पॉप्युलेट करने के लिए, आदर्श तरीका सीएसवी में केवल गैर-ऑटो-इंक्रीमेंट कॉलम को शामिल करना है। इसके बाद, लोड डेटा INFILE स्टेटमेंट में आईडी कॉलम को स्पष्ट रूप से NULL पर सेट करें।

यह दृष्टिकोण सुनिश्चित करता है कि डेटाबेस आयात प्रक्रिया के दौरान आईडी फ़ील्ड के लिए ऑटो-इंक्रीमेंट नंबर उत्पन्न करता है। उदाहरण के लिए, निम्नलिखित CSV पर विचार करें:

afieldvalue, bfieldvalue

LOAD DATA INFILE स्टेटमेंट इस तरह दिखेगा:

LOAD DATA INFILE '/tmp/data.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ','
(AField, BField)
SET ID = NULL;

इस दृष्टिकोण का पालन करके, आप MySQL में लोड डेटा INFILE के माध्यम से डेटा आयात करते समय ऑटो-इंक्रीमेंट आईडी फ़ील्ड को निर्बाध रूप से पॉप्युलेट कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3