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

MySQL में PRIMARY KEY कीवर्ड के बिना कॉलम को PRIMARY KEY बनाना

चूंकि PRIMARY KEY के लिए UNIQUE और NOT NULL दोनों आवश्यक हैं, यदि किसी कॉलम पर ये दोनों कंस्ट्रेंट एक साथ लागू कर दिए जाएं, तो वह स्वतः PRIMARY KEY बन जाता है।

उदाहरण

Student123 टेबल में RollNo पर UNIQUE और NOT NULL दोनों लागू करना:

mysql> CREATE TABLE Student123(
    RollNo INT UNIQUE NOT NULL,
    Name VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)

mysql> DESCRIBE Student123;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| RollNo | int(11)     | NO   | PRI | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+

परिणाम विश्लेषण

  • Key कॉलम में PRI दिखाता है
  • MySQL आंतरिक रूप से UNIQUE + NOT NULL = PRIMARY KEY मानता है
  • क्लस्टर्ड इंडेक्स स्वतः बन जाता है

तुलना

पद्धतिसिंटैक्सपरिणाम
स्पष्ट PRIMARY KEYPRIMARY KEY (col)Key=PRI, क्लस्टर्ड इंडेक्स
अस्पष्ट (UNIQUE+NOT NULL)UNIQUE NOT NULLKey=PRI, क्लस्टर्ड इंडेक्स
केवल UNIQUEUNIQUEKey=UNI, नॉन-क्लस्टर्ड, NULL अनुमति
केवल NOT NULLNOT NULLKey=खाली, कोई इंडेक्स नहीं

व्यावहारिक उपयोग

यह तकनीक तब उपयोगी है जब:

  • आप स्पष्ट PRIMARY KEY कीवर्ड नहीं लिखना चाहते
  • कंस्ट्रेंट नाम कस्टमाइज़ करना चाहते हैं (UNIQUE कंस्ट्रेंट नाम दे सकते हैं)
  • पुराने कोडबेस में माइग्रेशन कर रहे हैं

सिफारिश: स्पष्टता के लिए PRIMARY KEY कीवर्ड का उपयोग करना बेहतर है।

  1. - MySQL में टेबल के कॉलम नाम कैसे प्राप्त करें?

    SHOW COLUMNS कमांड का उपयोग MySQL में किसी टेबल के सभी कॉलम नाम और उनकी जानकारी देखने के लिए SHOW COLUMNS कमांड का उपयोग करें। सिंटैक्स SHOW COLUMNS FROM yourTableName; उदाहरण 1. टेबल बनाना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCH

  1. - MySQL में किसी विशिष्ट टेबल के प्राइमरी की 'कॉलम नाम' को कैसे प्राप्त करें?

    आइए पहले एक टेबल बनाते हैं जिसमें प्राइमरी की CustomerId है: mysql> create table DemoTable    (    CustomerId int NOT NULL AUTO_INCREMENT,    CustomerName varchar(20),    CustomerAge int,    CustomerCountryName varchar(100),    PRIMARY K

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

    प्राइमरी की ड्रॉप करने के लिए, पहले ALTER का उपयोग करके टेबल को बदलें। इसके साथ, नीचे दिखाए अनुसार की ड्रॉप करने के लिए DROP का उपयोग करें: सिंटैक्स alter table yourTableName drop primary key; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL, -> S