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

MySQL में संयुक्त विशिष्टता (Compound Uniqueness) कैसे लागू करें

समाधान: संयुक्त UNIQUE कंस्ट्रेंट

एकाधिक कॉलम के संयोजन को अद्वितीय बनाने के लिए टेबल बनाते समय या बाद में UNIQUE कंस्ट्रेंट का उपयोग करें।

टेबल बनाते समय सिंटैक्स

CREATE TABLE yourTableName (
    yourColumnName1 datatype,
    yourColumnName2 datatype,
    yourColumnName3 datatype,
    UNIQUE yourConstraintName(yourColumnName2, yourColumnName3)
);

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

UNIQUE कंस्ट्रेंट के साथ टेबल बनाना

mysql> CREATE TABLE UniqueDemo (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT,
    -> StudentMarks INT,
    -> UNIQUE age_NameConstraint(StudentName, StudentAge)
    -> );
Query OK, 0 rows affected (0.76 sec)

कंस्ट्रेंट देखना

mysql> SHOW INDEX FROM UniqueDemo;

परिणाम

TableNon_uniqueKey_nameColumn_name
uniquedemo0PRIMARYStudentId
uniquedemo0age_NameConstraintStudentName
uniquedemo0age_NameConstraintStudentAge

महत्वपूर्ण बिंदु

  • संयुक्त कंस्ट्रेंट कॉलम के संयोजन को अद्वितीय बनाता है, व्यक्तिगत कॉलम को नहीं
  • उदाहरण: (John, 20) और (John, 21) दोनों अनुमत हैं, लेकिन (John, 20) दो बार नहीं
  • कंस्ट्रेंट नाम वैकल्पिक है (MySQL स्वचालित रूप से उत्पन्न करता है)
  • मौजूदा टेबल पर: ALTER TABLE ... ADD UNIQUE ...

परीक्षण

INSERT INTO UniqueDemo(StudentName, StudentAge) VALUES('John', 20); -- सफल
INSERT INTO UniqueDemo(StudentName, StudentAge) VALUES('John', 20); -- त्रुटि 1062
INSERT INTO UniqueDemo(StudentName, StudentAge) VALUES('John', 21); -- सफल
  1. - MySQL टेबल से यूनिकनेस कंस्ट्रेंट (UNIQUE KEY) कैसे हटाएं?

    MySQL में ALTER TABLE ... DROP INDEX से यूनिक कंस्ट्रेंट हटाना MySQL में यूनिक कंस्ट्रेंट आंतरिक रूप से एक UNIQUE INDEX के रूप में लागू होता है। इसलिए इसे हटाने के लिए DROP INDEX का उपयोग करें। सिंटैक्स ALTER TABLE yourTableName DROP INDEX yourUniqueIndexName; उदाहरण: कम्पोजिट यूनिक कंस्ट्रेंट हटा

  1. - MySQL में कम्पोजिट यूनिकनेस (एकाधिक कॉलम पर यूनिक कंस्ट्रेंट) कैसे लागू करें?

    एकाधिक कॉलम पर संयुक्त यूनिक कंस्ट्रेंट बनाना दो या अधिक कॉलम के **संयोजन** को यूनिक बनाने के लिए कम्पोजिट UNIQUE KEY परिभाषित करें। सिंटैक्स CREATE TABLE table_name ( ... UNIQUE KEY constraint_name (col1, col2, ...) ); उदाहरण: छात्र नाम + मोबाइल नंबर यूनिक CREATE TABLE enforceCompoundUniq

  1. - MySQL में टेबल के सभी कॉलम कैसे हटाएं?

    DROP TABLE का उपयोग करके पूरी टेबल हटाना MySQL में किसी टेबल के सभी कॉलम हटाने का सबसे सरल तरीका पूरी टेबल को ही ड्रॉप करना है। सिंटैक्स DROP TABLE yourTableName; उदाहरण 1. टेबल बनाना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCHAR(20)