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

MySQL में ALTER TABLE ADD UNIQUE से कम्पोजिट यूनिक की बनाएं

मौजूदा टेबल पर ALTER TABLE ADD UNIQUE से कम्पोजिट यूनिक की जोड़ना

बनी हुई टेबल पर एकाधिक कॉलम पर यूनिक कंस्ट्रेंट जोड़ने के लिए ALTER TABLE ... ADD UNIQUE KEY उपयोग करें।

सिंटैक्स

ALTER TABLE yourTableName
ADD UNIQUE KEY yourUniqueName (col1, col2, ...);

उदाहरण

CREATE TABLE makeCompositeKeyDemo (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(40),
    StudentAge INT,
    StudentGrade CHAR(1)
);

कम्पोजिट यूनिक की जोड़ना

ALTER TABLE makeCompositeKeyDemo
ADD UNIQUE KEY Name_Age_Grade (StudentName, StudentAge, StudentGrade);

सत्यापन

DESC makeCompositeKeyDemo;
+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| Id           | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName  | varchar(40) | YES  | MUL | NULL    |                |
| StudentAge   | int(11)     | YES  |     | NULL    |                |
| StudentGrade | char(1)     | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+

Key कॉलम में MUL दर्शाता है कि कॉलम एक नॉन-यूनिक इंडेक्स (कम्पोजिट यूनिक का हिस्सा) में है।

SHOW CREATE TABLE से पूर्ण परिभाषा देखना

SHOW CREATE TABLE makeCompositeKeyDemo;
... UNIQUE KEY `Name_Age_Grade` (`StudentName`,`StudentAge`,`StudentGrade`) ...

महत्वपूर्ण नोट्स

  • मौजूदा डेटा में डुप्लिकेट संयोजन होने पर एरर होगा — पहले डेटा साफ करें।
  • कॉलम क्रम मायने रखता है: (A, B, C) क्वेरी WHERE A=... AND B=... AND C=... के लिए ऑप्टिमल है।
  • यूनिक इंडेक्स नाम (Name_Age_Grade) स्पष्ट रखें ताकि बाद में DROP INDEX Name_Age_Grade आसान हो।
  1. - MySQL डेटाबेस में फॉरेन की कैसे पहचानें?

    MySQL में SHOW CREATE TABLE का उपयोग करके फॉरेन की कंस्ट्रेंट पहचानना किसी टेबल पर परिभाषित फॉरेन की कंस्ट्रेंट देखने के लिए SHOW CREATE TABLE कमांड का उपयोग करें। यह पूरी टेबल परिभाषा दिखाता है जिसमें फॉरेन की विवरण शामिल होते हैं। उदाहरण के साथ पूर्ण कार्यान्वयन पैरेंट टेबल बनाना CREATE TABLE D

  1. - MySQL में INFORMATION_SCHEMA से संयुक्त प्राथमिक कुंजी (Composite Primary Key) पहचानें

    MySQL में किसी टेबल में संयुक्त प्राथमिक कुंजी (Composite Primary Key - एकाधिक कॉलम वाली PK) है या नहीं, यह जांचने के लिए INFORMATION_SCHEMA.KEY_COLUMN_USAGE टेबल को क्वेरी करें और कॉलम गिनें। यदि गिनती 1 से अधिक है, तो संयुक्त PK है। सिंटैक्स SELECT COUNT(*) AS Total FROM INFORMATION_SCHEMA.KEY_CO

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

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