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

MySQL में पहले से बनी टेबल में AUTO_INCREMENT कैसे जोड़ें? ALTER TABLE कमांड

इसके लिए ALTER कमांड का उपयोग करें।

टेबल बनाएं

mysql> create table DemoTable (
    -> StudentName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.46 sec)

AUTO_INCREMENT जोड़ने का क्वेरी

mysql> ALTER TABLE DemoTable ADD COLUMN StudentId INT NOT NULL;
Query OK, 0 rows affected (0.50 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE DemoTable ADD PRIMARY KEY(StudentId);
Query OK, 0 rows affected (1.23 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE DemoTable CHANGE StudentId StudentId INT NOT NULL AUTO_INCREMENT;
Query OK, 0 rows affected (2.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

रिकॉर्ड्स डालें

mysql> insert into DemoTable(StudentName) values('Chris');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(StudentName) values('David');
Query OK, 1 row affected (0.15 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+-------------+-----------+
| StudentName | StudentId |
+-------------+-----------+
| Chris       | 1         |
| David       | 2         |
+-------------+-----------+
2 rows in set (0.00 sec)

चरण-दर-चरण व्याख्या:

  1. ADD COLUMN StudentId INT NOT NULL - नया कॉलम जोड़ें (मौजूदा पंक्तियों के लिए डिफ़ॉल्ट 0)
  2. ADD PRIMARY KEY(StudentId) - प्राथमिक कुंजी बनाएं (अद्वितीय, नॉट नल)
  3. CHANGE ... AUTO_INCREMENT - कॉलम परिभाषा बदलकर AUTO_INCREMENT जोड़ें
  4. MySQL स्वचालित रूप से मौजूदा पंक्तियों के लिए 1, 2, ... असाइन करता है

नोट: खाली टेबल पर आसान। डेटा वाली टेबल पर सावधानी से करें। MySQL 8.0+ में ALTER TABLE ... ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY FIRST एक चरण में संभव।

  1. - क्या MySQL में ऑटो_इन्क्रीमेंट मान निर्दिष्ट किए बिना रिकॉर्ड डाल सकते हैं?

    हाँ, बिल्कुल। MySQL में AUTO_INCREMENT कॉलम के लिए मान निर्दिष्ट करना वैकल्पिक है। जब आप INSERT स्टेटमेंट में उस कॉलम को छोड़ देते हैं या NULL/0 पास करते हैं, तो MySQL स्वचालित रूप से अगला अनुक्रमिक मान जनरेट करता है। सिंटैक्स विकल्प -- विकल्प 1: कॉलम सूची में ऑटो_इन्क्रीमेंट कॉलम को छोड़ दें INSER

  1. - MySQL में BEFORE INSERT ट्रिगर से दिनांक स्वचालित सेट करें

    MySQL में BEFORE INSERT ट्रिगर का उपयोग करके पंक्ति डालने से पहले दिनांक/समय कॉलम को स्वचालित रूप से वर्तमान दिनांक पर सेट कर सकते हैं। सिंटैक्स CREATE TRIGGER ट्रिगर_नाम BEFORE INSERT ON टेबल_नाम FOR EACH ROW SET NEW.कॉलम_नाम = फ़ंक्शन(); उदाहरण: DueDate को CURDATE() पर सेट करें 1. टेबल बनाएं C

  1. - MySQL में AUTO_INCREMENT टेबल में INSERT INTO SELECT कैसे करें?

    MySQL में AUTO_INCREMENT प्राइमरी की वाली टेबल में INSERT INTO ... SELECT का उपयोग करते समय, आप स्पष्ट रूप से ID मान प्रदान कर सकते हैं या ऑटो-जनरेट होने दे सकते हैं। दोनों दृष्टिकोण वैध हैं लेकिन अलग व्यवहार करते हैं। उदाहरण: स्पष्ट ID के साथ INSERT INTO SELECT ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql&