ALTER TABLE ... CHANGE से कॉलम में AUTO_INCREMENT जोड़ें
मौजूदा कॉलम को AUTO_INCREMENT प्राइमरी की में बदलने के लिए CHANGE क्लॉज का उपयोग करें (पुराना नाम, नया नाम, प्रकार, विशेषताएं)।
सिंटैक्स
ALTER TABLE टेबल_नाम CHANGE पुराना_कॉलम_नाम नया_कॉलम_नाम डेटा_प्रकार AUTO_INCREMENT PRIMARY KEY;
उदाहरण
1. टेबल बनाएं
mysql> CREATE TABLE AlterTableToAddAutoIncrement (
-> StudentId INT
-> );
2. AUTO_INCREMENT + PRIMARY KEY जोड़ें
mysql> ALTER TABLE AlterTableToAddAutoIncrement
-> CHANGE StudentId StudentId INT AUTO_INCREMENT PRIMARY KEY;
3. परीक्षण: मान दिए बिना डालें
mysql> INSERT INTO AlterTableToAddAutoIncrement VALUES(); mysql> INSERT INTO AlterTableToAddAutoIncrement VALUES(); mysql> INSERT INTO AlterTableToAddAutoIncrement VALUES();
4. परिणाम देखें
mysql> SELECT * FROM AlterTableToAddAutoIncrement;
+-----------+ | StudentId | +-----------+ | 1 | | 2 | | 3 | +-----------+
CHANGE बनाम MODIFY
| क्लॉज | उपयोग | नाम बदल सकता है? |
|---|---|---|
CHANGE | पुराना_नाम नया_नाम प्रकार... | हाँ |
MODIFY | कॉलम_नाम प्रकार... | नहीं |
नाम नहीं बदल रहे तो MODIFY अधिक संक्षिप्त है:
ALTER TABLE टेबल MODIFY कॉलम_नाम INT AUTO_INCREMENT PRIMARY KEY;
आवश्यकताएं
- कॉलम इंडेक्स किया हुआ होना चाहिए (PRIMARY KEY या UNIQUE)
- कॉलम NOT NULL होना चाहिए (AUTO_INCREMENT निहित रूप से जोड़ता है)
- टेबल में एक ही AUTO_INCREMENT कॉलम हो सकता है
- InnoDB: AUTO_INCREMENT कॉलम इंडेक्स का पहला कॉलम होना चाहिए
अनुक्रम रीसेट करें
ALTER TABLE टेबल AUTO_INCREMENT = 1000;