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

MySQL में प्राइमरी की को AUTO_INCREMENT में कैसे बदलें?


MODIFY COLUMN से AUTO_INCREMENT जोड़ें

MySQL में मौजूदा प्राइमरी की कॉलम को AUTO_INCREMENT बनाने के लिए ALTER TABLE ... MODIFY का उपयोग करें।

उदाहरण

टेबल बनाएं (प्राइमरी की बिना AUTO_INCREMENT):

mysql> CREATE TABLE changePrimaryKeyInAutoIncrement (
    -> StudentId INT NOT NULL PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT,
    -> StudentAddress VARCHAR(100)
    -> );

संरचना जांचें:

mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| StudentId      | int(11)      | NO   | PRI | NULL    |       |
| StudentName    | varchar(100) | YES  |     | NULL    |       |
| StudentAge     | int(11)      | YES  |     | NULL    |       |
| StudentAddress | varchar(100) | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+

प्राइमरी की को AUTO_INCREMENT में बदलें

mysql> ALTER TABLE changePrimaryKeyInAutoIncrement 
    -> MODIFY StudentId INT AUTO_INCREMENT;

आउटपुट: Query OK, 0 rows affected (1.48 sec)

अपडेटेड संरचना:

mysql> DESC changePrimaryKeyInAutoIncrement;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| StudentId      | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName    | varchar(100) | YES  |     | NULL    |                |
| StudentAge     | int(11)      | YES  |     | NULL    |                |
| StudentAddress | varchar(100) | YES  |     | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+

देखें: Extra कॉलम में अब auto_increment दिख रहा है।

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

  • कॉलम इंटीजर टाइप होना चाहिए (INT, BIGINT, आदि)
  • कॉलम NOT NULL होना चाहिए
  • कॉलम प्राइमरी की या यूनिक इंडेक्स का हिस्सा होना चाहिए
  • टेबल खाली हो या मौजूदा डेटा में डुप्लीकेट/गैप न हों जो ऑटो-इन्क्रीमेंट से टकराएं

संबंधित ऑपरेशन


            
  1. - MySQL में information_schema से कॉलम प्राइमरी की है या नहीं जांचें

    information_schema.COLUMNS टेबल से COLUMN_KEY = PRI जांचकर किसी टेबल के सभी कॉलम की प्राइमरी की स्थिति देख सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1886 ( Id INT NOT NULL, FirstName VARCHAR(20), LastName VARCHAR(20), Age INT, DateOfBirth DATETIME, Education VARCH

  1. - MySQL में प्राइमरी की कैसे रीसेट करें?

    MySQL में ऑटो-इन्क्रीमेंट प्राइमरी की को रीसेट (1 से शुरू) करने के लिए, TRUNCATE TABLE का उपयोग करें जो डेटा हटाता है और ऑटो-इन्क्रीमेंट काउंटर रीसेट करता है, या ALTER TABLE से मैन्युअली सेट करें। विधि 1: TRUNCATE TABLE (सबसे सरल, डेटा हटाता है) टेबल बनाएं: mysql> CREATE TABLE DemoTable1929 (

  1. - MySQL में प्राइमरी की को कई टेबल में फॉरेन की के रूप में कैसे रेफ़र करें?

    ALTER TABLE ... ADD CONSTRAINT alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); उदाहरण alter table demo66 add constraint `id_fk` foreign key(`user_id`) references