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

MySQL टेबल से प्राइमरी की हटाना - DROP PRIMARY KEY

MySQL में किसी टेबल से प्राइमरी की को हटाने के लिए ALTER TABLE ... DROP PRIMARY KEY स्टेटमेंट का उपयोग किया जाता है। यह ऑपरेशन टेबल संरचना को संशोधित करता है लेकिन डेटा को प्रभावित नहीं करता।

सिंटैक्स

ALTER TABLE your_table_name DROP PRIMARY KEY;

व्यावहारिक उदाहरण

1. प्राइमरी की के साथ टेबल बनाएं

mysql> CREATE TABLE DemoTable (
    UserId INT NOT NULL PRIMARY KEY
);
Query OK, 0 rows affected (0.58 sec)

2. टेबल संरचना जांचें (प्राइमरी की दिखाता है)

mysql> DESC DemoTable;
+--------+---------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| UserId | int(11) | NO   | PRI | NULL    |       |
+--------+---------+------+-----+---------+-------+
1 row in set (0.01 sec)

3. प्राइमरी की हटाएं

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

4. फिर से संरचना जांचें (प्राइमरी की गायब)

mysql> DESC DemoTable;
+--------+---------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| UserId | int(11) | NO   |     | NULL    |       |
+--------+---------+------+-----+---------+-------+
1 row in set (0.01 sec)

महत्वपूर्ण विचार

  • डेटा अप्रभावित रहता है: केवल कंस्ट्रेंट हटता है, पंक्तियाँ नहीं
  • AUTO_INCREMENT बना रहता है: यदि कॉलम AUTO_INCREMENT था, तो यह विशेषता बनी रहती है
  • विदेशी कुंजी: यदि अन्य टेबल्स इस प्राइमरी की को रेफरेंस करती हैं, तो पहले उन विदेशी कुंजियों को हटाना होगा
  • NOT NULL: कॉलम NOT NULL बना रहता है जब तक इसे स्पष्ट रूप से बदला न जाए

प्राइमरी की दोबारा जोड़ना

ALTER TABLE DemoTable ADD PRIMARY KEY (UserId);

संयुक्त प्राइमरी की के लिए

ALTER TABLE DemoTable DROP PRIMARY KEY;
ALTER TABLE DemoTable ADD PRIMARY KEY (col1, col2);
  1. - MySQL में ENUM से वैल्यू कैसे हटाएं?

    MySQL में ENUM से वैल्यू हटाने के लिए ALTER कमांड का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable    (    `Rank` ENUM(LOW,MEDIUM,HIGH)    ); Query OK, 0 rows affected (0.52 sec) आइए टेबल का विवरण चेक कर

  1. - MySQL में ALTER TABLE DROP INDEX का उपयोग करके टेबल से इंडेक्स हटाना

    MySQL में इंडेक्स हटाना: ALTER TABLE DROP INDEX MySQL टेबल से मौजूदा इंडेक्स हटाने के लिए, इंडेक्स नाम के साथ ALTER TABLE ... DROP INDEX स्टेटमेंट का उपयोग करें। उदाहरण: इंडेक्स बनाना और हटाना DESC DemoTable1469; +-------------+-------------+------+-----+---------+----------------+ | Field |

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

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