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

MySQL में भूल से AUTO_INCREMENT सेट नहीं किया? बाद में ALTER TABLE से जोड़ें

मौजूदा कॉलम पर AUTO_INCREMENT बाद में जोड़ना

यदि टेबल बनाते समय AUTO_INCREMENT भूल गए, तो ALTER TABLE ... MODIFY COLUMN से बाद में जोड़ सकते हैं।

स्थिति: बिना AUTO_INCREMENT की टेबल

CREATE TABLE forgetToSetAutoIncrementDemo (
    StudentId INT,
    StudentName VARCHAR(30)
);

विवरण जांचें (Extra कॉलम खाली)

DESC forgetToSetAutoIncrementDemo;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId   | int(11)     | YES  |     | NULL    |       |
| StudentName | varchar(30) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+

AUTO_INCREMENT जोड़ना (साथ ही PRIMARY KEY और NOT NULL)

ALTER TABLE forgetToSetAutoIncrementDemo
MODIFY COLUMN StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

सत्यापन

DESC forgetToSetAutoIncrementDemo;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| StudentId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(30) | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+

डेटा डालकर परीक्षण

INSERT INTO forgetToSetAutoIncrementDemo (StudentName) VALUES ('Larry'), ('Chris'), ('Robert');
SELECT * FROM forgetToSetAutoIncrementDemo;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Larry       |
| 2         | Chris       |
| 3         | Robert      |
+-----------+-------------+

महत्वपूर्ण शर्तें

  • कॉलम NOT NULL होना चाहिए।
  • कॉलम प्राइमरी की या यूनिक इंडेक्स का हिस्सा होना चाहिए।
  • कॉलम में डुप्लिकेट या NULL मान नहीं होने चाहिए।
  • यदि टेबल में डेटा है, तो मौजूदा अधिकतम मान से अगला ऑटो-इन्क्रीमेंट मान शुरू होगा।
  1. - MySQL टेबल से डेटा डिलीट करने के बाद ऑटो इन्क्रीमेंट को 1 से कैसे शुरू करें?

    इसके लिए आप TRUNCATE TABLE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1796 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें

  1. - MySQL में ZEROFILL के साथ कस्टम ऑटो-इन्क्रीमेंट सेट करें

    ZEROFILL विशेषता संख्यात्मक कॉलम को बाएं से शून्य से भरकर निर्दिष्ट चौड़ाई तक पैड करती है। यह UNSIGNED भी बनाता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1831 ( UserId INT(7) ZEROFILL AUTO_INCREMENT, PRIMARY KEY(UserId) ); यहां INT(7) का अर्थ है प्रदर्शन चौड़ाई 7 अंक। डेटा डालें mysq

  1. - MySQL में प्रारंभिक मान और ऑटो इन्क्रीमेंट कैसे सेट करें?

    AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। यदि किसी कॉलम को NOT NULL घोषित किया गया है, तो उस कॉलम को NULL असाइन करना संभव है ताकि संख्याओं का अनुक्रम उत्पन्न हो सके। जब किसी AUTO_INCREMENT कॉलम में कोई मान डाला जाता है, तो कॉलम उस मान पर