मौजूदा MySQL टेबल के कॉलम पर ALTER TABLE स्टेटमेंट का उपयोग करके PRIMARY KEY कंस्ट्रेंट जोड़ा जा सकता है।
सिंटैक्स
-- विधि 1: MODIFY क्लॉज ALTER TABLE table_name MODIFY column_name datatype PRIMARY KEY; -- विधि 2: ADD PRIMARY KEY क्लॉज ALTER TABLE table_name ADD PRIMARY KEY (column_name);
उदाहरण
Player टेबल में ID कॉलम पर PRIMARY KEY जोड़ना:
mysql> DESCRIBE Player; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ mysql> ALTER TABLE Player MODIFY ID INT PRIMARY KEY; Query OK, 0 rows affected (0.22 sec) mysql> DESCRIBE Player; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID | int(11) | NO | PRI | NULL | | | Name | varchar(20) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+
दूसरी विधि से समान परिणाम
ALTER TABLE Player ADD PRIMARY KEY(ID);
परिवर्तनों का सारांश
| पहले | बाद में |
|---|---|
| Null: YES | Null: NO (NOT NULL लागू) |
| Key: (खाली) | Key: PRI |
| कोई इंडेक्स नहीं | क्लस्टर्ड इंडेक्स बनाया गया |
पूर्व शर्तें
- कॉलम में डुप्लिकेट मान नहीं होने चाहिए <ली>कॉलम में NULL मान नहीं होने चाहिए
- टेबल में पहले से PRIMARY KEY नहीं होनी चाहिए
कंपोजिट PRIMARY KEY के लिए
ALTER TABLE table_name ADD PRIMARY KEY (col1, col2);
सत्यापन
SHOW CREATE TABLE Player; -- PRIMARY KEY परिभाषा दिखाएगा