Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
MySQL + SQL · Lesson 41

MySQL में AUTO_INCREMENT

AUTO_INCREMENT क्या है

AUTO_INCREMENT MySQL को बताता है कि हर बार row insert करने पर column को नया, unique number अपने-आप generate करे। यह लगभग हमेशा primary key पर इस्तेमाल होती है, तो आपको कभी खुद ids सोचनी नहीं पड़तीं — MySQL इन्हें भरता है, हर बार एक ज़्यादा।

💡 AUTO_INCREMENT = MySQL आपके लिए अगली id assign करता है, तो ids अपने-आप unique होती हैं।

Auto id बनाना

CREATE TABLE students (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50)
);

integer primary key id में AUTO_INCREMENT जोड़ना मतलब MySQL हर नई row को अपने-आप number देगा, 1 से शुरू।

Rows insert करना

INSERT INTO students (name) VALUES ('Aman');
INSERT INTO students (name) VALUES ('Diya');
SELECT * FROM students;
+----+------+ | id | name | +----+------+ | 1 | Aman | | 2 | Diya | +----+------+

ध्यान दीजिए हमने id नहीं दी — MySQL ने अपने-आप 1, फिर 2 assign किया। आप बस बाक़ी columns insert करते हैं।

आख़िरी id पाना

INSERT INTO students (name) VALUES ('Kabir');
SELECT LAST_INSERT_ID();
3

LAST_INSERT_ID() वो id लौटाता है जो MySQL ने अभी generate की। यह बहुत उपयोगी है जब आप parent row insert करें और संबंधित child rows insert करने को उसकी नई id चाहिए।

Counter reset करना

ALTER TABLE students AUTO_INCREMENT = 100;
-- अगली insert की row को id 100 मिलती है

आप set कर सकते हैं counter कहाँ से जारी हो। TRUNCATE TABLE students; भी इसे वापस 1 पर reset करता है, जबकि DELETE counter जहाँ था वहीं छोड़ता है। आप इसे सबसे ऊँची मौजूदा id से नीचे set नहीं कर सकते।

उपयोगी बातें

  • Gaps सामान्य हैं। Row delete करना उसकी id दोबारा इस्तेमाल नहीं करता; counter बढ़ता रहता है।
  • प्रति table एक। Table में सिर्फ़ एक AUTO_INCREMENT column हो सकता है।
  • Key होनी चाहिए। Column primary या unique key होना चाहिए।

ये व्यवहार ids को unique और predictable रखते हैं।

आम गलतियाँ

  • खुद id देना। MySQL को generate करने दीजिए; बस बाक़ी columns insert कीजिए।
  • Delete की ids दोबारा इस्तेमाल की उम्मीद। वे नहीं होतीं — gaps ठीक हैं।
  • AUTO_INCREMENT को max id से नीचे set करना। MySQL टकराने वाली values अनदेखा करता है।
  • Non-key column पर इस्तेमाल करना। AUTO_INCREMENT को primary या unique key चाहिए।

सारांश

  • AUTO_INCREMENT नई rows को unique ids auto-generate करता है।
  • इसे integer primary key में जोड़िए: id INT PRIMARY KEY AUTO_INCREMENT।
  • id बिना insert कीजिए; MySQL अगला number assign करता है।
  • LAST_INSERT_ID() अभी बनी id लौटाता है।
  • TRUNCATE counter reset करता है; delete की ids दोबारा इस्तेमाल नहीं होतीं।

आगे, एक साथ कई rows जोड़िए inserting multiple rows में, या key concepts primary key vs foreign key में।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

MySQL में AUTO_INCREMENT क्या है?
AUTO_INCREMENT एक column setting है जो हर insert की गई row को नया, unique number अपने-आप generate करती है। यह आमतौर पर primary key पर इस्तेमाल होती है ताकि आपको खुद id न देनी पड़े — MySQL इसे भरता है, हर बार एक बढ़ाकर।
AUTO_INCREMENT कैसे इस्तेमाल करूँ?
Table बनाते समय integer primary key column में AUTO_INCREMENT जोड़िए, जैसे id INT PRIMARY KEY AUTO_INCREMENT। फिर id दिए बिना rows insert कीजिए, और MySQL अगला number अपने-आप assign करता है।
MySQL में आख़िरी insert की गई id कैसे पाऊँ?
INSERT के ठीक बाद LAST_INSERT_ID() function इस्तेमाल कीजिए: SELECT LAST_INSERT_ID();। यह आपके connection पर सबसे हाल के insert की auto-generated id लौटाता है, जो संबंधित rows जोड़ने को उपयोगी है।
AUTO_INCREMENT value कैसे reset करूँ?
अगला value set करने को ALTER TABLE tablename AUTO_INCREMENT = 1; इस्तेमाल कीजिए। ध्यान दीजिए TRUNCATE भी counter reset करता है, जबकि DELETE नहीं। आप इसे table में मौजूदा maximum id से नीचे set नहीं कर सकते।
क्या rows delete करना AUTO_INCREMENT numbers दोबारा इस्तेमाल करता है?
नहीं। Default रूप से, delete की गई ids दोबारा इस्तेमाल नहीं होतीं — counter बढ़ता रहता है। तो अगर आप row 5 delete करें, अगला insert फिर भी 6 हो सकता है, gap छोड़कर। यह सामान्य है और समय के साथ ids unique रखता है।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicSQL में Comments आपकी प्रगति: 41 / 151 (27%) · Lesson 42 / 151 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें