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

MySQL में दो कॉलम के जोड़े को यूनिक बनाना

MySQL में ALTER TABLE और UNIQUE कंस्ट्रेंट के साथ कॉलम जोड़े को अद्वितीय बनाना

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

सिंटैक्स

ALTER TABLE yourTableName 
ADD UNIQUE yourUniqueName(column1, column2, ...);

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

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(100),
    StudentLastName VARCHAR(100),
    StudentAge INT,
    StudentPhoneNumber VARCHAR(20)
);

यूनिक कंस्ट्रेंट जोड़ना (पहला नाम + फोन नंबर)

mysql> ALTER TABLE DemoTable 
ADD UNIQUE DemoTable_unique_StudentFirstName_StudentPhoneNumber
(StudentFirstName, StudentPhoneNumber);

रिकॉर्ड डालना (डुप्लिकेट टेस्ट)

mysql> INSERT INTO DemoTable(StudentFirstName, StudentLastName, StudentAge, StudentPhoneNumber) 
VALUES('John', 'Doe', 21, '9878567878');
Query OK, 1 row affected

mysql> INSERT INTO DemoTable(StudentFirstName, StudentLastName, StudentAge, StudentPhoneNumber) 
VALUES('John', 'Smith', 23, '7654674545');
Query OK, 1 row affected

mysql> INSERT INTO DemoTable(StudentFirstName, StudentLastName, StudentAge, StudentPhoneNumber) 
VALUES('John', 'Brown', 21, '9878567878');
ERROR 1062 (23000): Duplicate entry 'John-9878567878' for key 'DemoTable_unique_StudentFirstName_StudentPhoneNumber'

सफल रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------+------------------+-----------------+------------+--------------------+
| StudentId | StudentFirstName | StudentLastName | StudentAge | StudentPhoneNumber |
+-----------+------------------+-----------------+------------+--------------------+
| 1         | John             | Doe             | 21         | 9878567878         |
| 2         | John             | Smith           | 23         | 7654674545         |
+-----------+------------------+-----------------+------------+--------------------+

मुख्य बिंदु

  • तीसरा INSERT विफल हुआ क्योंकि 'John' + '9878567878' का संयोजन पहले से मौजूद था
  • अलग अंतिम नाम ('Smith') के साथ समान पहला नाम और फोन नंबर की अनुमति नहीं है
  • कंस्ट्रेंट नाम वैकल्पिक है लेकिन डीबगिंग के लिए उपयोगी है
  1. - MySQL टेबल प्राइमरी की को ऑटो इंक्रीमेंट कैसे बनाएं?

    MySQL टेबल प्राइमरी की को ऑटो इंक्रीमेंट बनाने के लिए, नीचे दिए गए सिंटैक्स का उपयोग करें: CREATE TABLE yourTableName ( yourColumnName INT(6) ZEROFILL NOT NULL AUTO_INCREMENT, PRIMARY KEY(yourColumnName) ); आइए पहले एक टेबल बनाते हैं और प्राइमरी की को ऑटो इंक्रीमेंट सेट करते हैं: CREATE TAB

  1. - MySQL में अस्थायी टेबल के कॉलम कैसे सूचीबद्ध करें?

    MySQL में अस्थायी टेबल के कॉलम देखना MySQL में अस्थायी टेबल के कॉलम सूचीबद्ध करने के लिए, पहले एक अस्थायी टेबल बनाते हैं। उदाहरण: अस्थायी टेबल बनाना यहाँ एक उदाहरण है जहाँ हमने छात्र के विवरण वाली एक अस्थायी टेबल बनाई है: mysql> CREATE TEMPORARY TABLE DemoTable745 ( StudentId int NOT NULL AUT

  1. - MySQL में एकाधिक कॉलम वाली टेबल में शर्तें कैसे बनाएं?

    MySQL में IF() फ़ंक्शन का उपयोग करके एकाधिक कॉलम पर शर्तीय तर्क लागू करना MySQL में IF() फ़ंक्शन का उपयोग करके क्वेरी स्तर पर शर्तीय तर्क लागू कर सकते हैं। यह तीन तर्क लेता है: शर्त, सत्य मान, असत्य मान। वाक्यविन्यास IF(condition, true_value, false_value) उदाहरण के साथ पूर्ण कार्यान्वयन टेबल बनान