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

MySQL में ALTER कमांड से प्राइमरी की और ऑटो_इंक्रीमेंट कैसे हटाएं?


ALTER कमांड का उपयोग करके प्राइमरी की और ऑटो_इंक्रीमेंट हटा सकते हैं।

सिंटैक्स

ALTER TABLE yourTableName 
DROP PRIMARY KEY, 
CHANGE yourColumnName yourColumnName data_type;

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE removePrimaryKey (
    -> StudentId INT NOT NULL AUTO_INCREMENT,
    -> StudentFirstName VARCHAR(20),
    -> StudentLastName VARCHAR(20),
    -> PRIMARY KEY(StudentId)
    -> ); 
Query OK, 0 rows affected (0.47 sec)

टेबल संरचना जांचें

mysql> DESC removePrimaryKey;

आउटपुट (पहले)

+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| StudentId        | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentFirstName | varchar(20) | YES  |     | NULL    |                |
| StudentLastName  | varchar(20) | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

Key कॉलम में PRI और Extra कॉलम में auto_increment दिख रहा है। दोनों को हटाने के लिए:

mysql> ALTER TABLE removePrimaryKey 
    -> DROP PRIMARY KEY, 
    -> CHANGE StudentId StudentId INT; 
Query OK, 0 rows affected (1.79 sec) 
Records: 0  Duplicates: 0  Warnings: 0

परिवर्तन सत्यापित करें

mysql> DESC removePrimaryKey;

आउटपुट (बाद में)

+------------------+-------------+------+-----+---------+-------+
| Field            | Type        | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| StudentId        | int(11)     | YES  |     | NULL    |       |
| StudentFirstName | varchar(20) | YES  |     | NULL    |       |
| StudentLastName  | varchar(20) | YES  |     | NULL    |       |
+------------------+-------------+------+-----+---------+-------+
3 rows in set (0.07 sec)

अब Key और Extra कॉलम खाली हैं - प्राइमरी की और ऑटो_इंक्रीमेंट दोनों हट गए हैं।

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

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

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

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

  1. - उदाहरणों के साथ MySQL AUTO_INCREMENT

    आइए समझते हैं कि AUTO_INCREMENT कैसे काम करता है: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id MEDIUMINT NOT NULL