Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में पूर्णांक अनुक्रम कैसे जनरेट करें?

AUTO_INCREMENT का उपयोग

MySQL में पूर्णांक अनुक्रम (integer sequence) बनाने का मानक तरीका AUTO_INCREMENT विशेषता है। यह स्वचालित रूप से 1 से शुरू होने वाली अनुक्रमिक संख्या निर्दिष्ट करता है।

बुनियादी उदाहरण

mysql> CREATE TABLE AutoIncrementDemo (
    -> EmployeeId INT AUTO_INCREMENT,
    -> PRIMARY KEY(EmployeeId)
    -> );
Query OK, 0 rows affected (0.54 sec)

रिकॉर्ड डालें (मान निर्दिष्ट किए बिना)

mysql> INSERT INTO AutoIncrementDemo VALUES();
mysql> INSERT INTO AutoIncrementDemo VALUES();
mysql> INSERT INTO AutoIncrementDemo VALUES();
mysql> INSERT INTO AutoIncrementDemo VALUES();
mysql> INSERT INTO AutoIncrementDemo VALUES();
mysql> INSERT INTO AutoIncrementDemo VALUES();

परिणाम

mysql> SELECT * FROM AutoIncrementDemo;
+------------+
| EmployeeId |
+------------+
| 1          |
| 2          |
| 3          |
| 4          |
| 5          |
| 6          |
+------------+
6 rows in set (0.00 sec)

प्रारंभिक मान बदलें

डिफ़ॉल्ट 1 के बजाय किसी अन्य संख्या से शुरू करने के लिए:

ALTER TABLE AutoIncrementDemo AUTO_INCREMENT = 1000;

अगला इंसर्ट 1000 से शुरू होगा: 1000, 1001, 1002, ...

महत्वपूर्ण विशेषताएं

  • अद्वितीयता: प्रत्येक मान अद्वितीय होता है (प्राइमरी की के लिए आदर्श)
  • गैप संभव: डिलीट/रोलबैक से गैप आ सकते हैं (1, 2, 4, 5...)
  • एक टेबल एक कॉलम: प्रति टेबल केवल एक AUTO_INCREMENT कॉलम
  • इंडेक्स आवश्यक: कॉलम इंडेक्स्ड होना चाहिए (आमतौर पर PRIMARY KEY)

उन्नत: अनुक्रम टेबल (सीक्वेंस ऑब्जेक्ट नहीं)

MySQL में PostgreSQL/Oracle जैसे SEQUENCE ऑब्जेक्ट नहीं हैं। जटिल अनुक्रम के लिए:

  • एक अलग sequence टेबल बनाएं
  • स्टोर्ड प्रोसीजर/ट्रिगर से मान प्रबंधित करें
  • या MySQL 8.0+ में SEQUENCE इंजन का उपयोग करें (प्लगइन)

नोट: AUTO_INCREMENT केवल सम्मिलन पर मान जनरेट करता है। मौजूदा पंक्तियों को अपडेट नहीं करता।

  1. - MySQL में ON vs USING क्लॉज

    ON और USING दोनों जॉइन कंडीशन निर्दिष्ट करते हैं, लेकिन अलग-अलग परिदृश्यों के लिए उपयुक्त हैं। ON क्लॉज (सामान्य उपयोग) कॉलम नाम अलग हों जटिल कंडीशन (एकाधिक कॉलम, एक्सप्रेशन, ऑपरेटर) अधिक लचीला और स्पष्ट SELECT f.Id, f.Name, p.Address FROM ForeignTableDemo f JOIN PrimaryTableDemo p ON f.FK = p.F

  1. - MySQL में कैसे चेक करें कि कोई वैल्यू इंटीजर है या नहीं?

    दिए गए वैल्यू की जांच करने के लिए कि यह स्ट्रिंग है या नहीं, हम CAST() फंक्शन का उपयोग करते हैं। यदि वैल्यू न्यूमेरिक नहीं है तो यह 0 लौटाता है, अन्यथा यह न्यूमेरिक वैल्यू लौटाएगा। इस तरह, हम चेक कर सकते हैं कि वैल्यू इंटीजर है या नहीं। केस 1 − इंटीजर्स के साथ स्ट्रिंग की जांच mysql> sel

  1. MySQL में डेटाबेस डायग्राम ऑटो-जेनरेट कैसे करें? MySQL में डेटाबेस डायग्राम ऑटो-जेनरेट कैसे करें?

    MySQL Workbench में रिवर्स इंजीनियर से ER डायग्राम जनरेट करें MySQL Workbench एक अंतर्निहित रिवर्स इंजीनियर सुविधा प्रदान करता है जो मौजूदा डेटाबेस से ER (एंटिटी-रिलेशनशिप) डायग्राम स्वचालित रूप से बनाता है। चरण-दर-चरण प्रक्रिया MySQL Workbench खोलें और अपने सर्वर से कनेक्ट करें। मेनू बार में Da