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

MySQL में ALTER TABLE से ऑटो-इन्क्रीमेंट कॉलम कस्टम प्रारंभ मान के साथ जोड़ें

मौजूदा टेबल में ALTER TABLE ... ADD COLUMN और AUTO_INCREMENT = मान का उपयोग करके कस्टम प्रारंभ मान वाला ऑटो-इन्क्रीमेंट कॉलम जोड़ सकते हैं।

सिंटैक्स

ALTER TABLE टेबल_नाम
ADD COLUMN कॉलम_नाम INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
AUTO_INCREMENT = प्रारंभ_मान;

उदाहरण: StudentId कॉलम 1000 से शुरू करें

1. मौजूदा टेबल

mysql> CREATE TABLE DemoTable (StudentName VARCHAR(20));
mysql> INSERT INTO DemoTable VALUES('Robert'), ('Adam'), ('Mike');
mysql> SELECT * FROM DemoTable;
+-------------+
| StudentName |
+-------------+
| Robert      |
| Adam        |
| Mike        |
+-------------+

2. ऑटो-इन्क्रीमेंट कॉलम जोड़ें (1000 से शुरू)

mysql> ALTER TABLE DemoTable
    -> ADD COLUMN StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> AUTO_INCREMENT = 1000;

3. परिणाम

mysql> SELECT * FROM DemoTable;
+-------------+-----------+
| StudentName | StudentId |
+-------------+-----------+
| Robert      | 1000      |
| Adam        | 1001      |
| Mike        | 1002      |
+-------------+-----------+

महत्वपूर्ण बिंदु

  • AUTO_INCREMENT मान अगली पंक्ति के लिए प्रारंभ मान सेट करता है
  • मौजूदा पंक्तियों को क्रमिक मान मिलते हैं
  • कॉलम NOT NULL और PRIMARY KEY होना चाहिए
  • टेबल में पहले से प्राइमरी की नहीं होनी चाहिए

प्रारंभ मान बदलना (बाद में)

ALTER TABLE DemoTable AUTO_INCREMENT = 2000;

वर्तमान ऑटो-इन्क्रीमेंट मान देखें

SHOW TABLE STATUS LIKE 'DemoTable';
-- Auto_increment कॉलम देखें

सावधानी

  • बड़ी टेबल पर ALTER TABLE लॉक कर सकता है
  • प्रतिकृति (replication) में सावधानी needed
  • विदेशी कुंजी संदर्भ होने पर जटिल
  1. - MySQL क्वेरी में UNION ALL से कस्टम मान जोड़ें

    कभी-कभी क्वेरी परिणाम में एक अतिरिक्त मान जोड़ना होता है जो टेबल में नहीं है। UNION ALL का उपयोग करके एक स्थिर मान को परिणाम सेट में जोड़ा जा सकता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1847 ( GameStatus ENUM(PENDING,COMPLETED,CANCELLED) ); डेटा डालें mysql> INSERT INTO DemoTable184

  1. - MySQL में CREATE TABLE में AUTO_INCREMENT प्रारंभ मान मैन्युअल सेट करें

    CREATE TABLE स्टेटमेंट में AUTO_INCREMENT = N टेबल विकल्प का उपयोग करके ऑटो-इन्क्रीमेंट काउंटर का प्रारंभ मान सेट करें। टेबल बनाएं (प्रारंभ 100) mysql> CREATE TABLE DemoTable1907 ( UserId INT NOT NULL AUTO_INCREMENT, UserName VARCHAR(20), UserAge INT, UserCountryName VARCHAR(20),

  1. - Python में MySQL का उपयोग करके टेबल में नया कॉलम जोड़ना

    कभी-कभी किसी मौजूदा टेबल में नया कॉलम जोड़ने की आवश्यकता होती है। मान लीजिए हमारे पास Students टेबल है जिसमें Name, Age, Roll No जैसे कॉलम हैं। हम इसमें Address नाम का एक नया कॉलम जोड़ना चाहते हैं। यह ALTER कमांड का उपयोग करके किया जा सकता है। ALTER कमांड का उपयोग डेटाबेस में कॉलम को संशोधित, ड्रॉप