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

MySQL में VARCHAR कॉलम पर UNIQUE कंस्ट्रेंट कैसे लागू करें?

MySQL में एक या अधिक VARCHAR कॉलम पर UNIQUE कंस्ट्रेंट लागू करके डुप्लिकेट मानों को रोका जा सकता है। संयुक्त (composite) यूनिक कंस्ट्रेंट कई कॉलम के संयोजन को अद्वितीय बनाता है।

सिंटैक्स

ALTER TABLE table_name 
ADD UNIQUE (column1, column2, ...);

उदाहरण

कर्मचारी तालिका बनाएं:

mysql> CREATE TABLE DemoTable (
    -> EmployeeId INT,
    -> EmployeeName VARCHAR(20),
    -> EmployeeCountryName VARCHAR(20)
    -> );

संयुक्त UNIQUE कंस्ट्रेंट जोड़ें

mysql> ALTER TABLE DemoTable 
    -> ADD UNIQUE (EmployeeName, EmployeeCountryName);

डेटा डालें - डुप्लिकेट टेस्ट

mysql> INSERT INTO DemoTable VALUES (101, 'Adam', 'AUS');  -- OK
mysql> INSERT INTO DemoTable VALUES (102, 'John', 'US');   -- OK
mysql> INSERT INTO DemoTable VALUES (103, 'Adam', 'US');   -- OK (अलग देश)
mysql> INSERT INTO DemoTable VALUES (104, 'Adam', 'AUS');  -- ERROR!

त्रुटि

ERROR 1062 (23000): Duplicate entry 'Adam-AUS' for key 'EmployeeName'

परिणाम

+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeCountryName |
+------------+--------------+---------------------+
|        101 | Adam         | AUS                 |
|        102 | John         | US                  |
|        103 | Adam         | US                  |
+------------+--------------+---------------------+

मुख्य बिंदु

  • संयुक्त UNIQUE कंस्ट्रेंट सभी कॉलम के संयोजन को अद्वितीय बनाता है
  • अलग-अलग कॉलम में डुप्लिकेट मान अनुमत हैं
  • मौजूदा डुप्लिकेट डेटा पर कंस्ट्रेंट जोड़ने से त्रुटि होगी
  • तालिका निर्माण के समय भी परिभाषित किया जा सकता है: UNIQUE KEY name (col1, col2)

उपयोग केस: ईमेल+डोमेन, उपयोगकर्ता नाम+कंपनी, SKU+वेयरहाउस जैसे संयोजनों के लिए।

  1. MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें

    सिंटैक्स SELECT SUBSTR(yourColumnName, startIndex, endIndex) FROM yourTableName LIMIT anyValue; SELECT SUBSTR(yourColumnName, startIndex) FROM yourTableName LIMIT anyValue; उदाहरण टेबल बनाएं: INSERT INTO demo11 (fileLocation) VALUES (E:/users/program/sample.sql), (E:/users/data/db.sql), (C:/users/

  1. - Apache के साथ MySQL का उपयोग करना

    आइए समझते हैं कि Apache के साथ MySQL का उपयोग कैसे करें: Apache एक वेब सर्वर सॉफ़्टवेयर है जिसे Apache सॉफ़्टवेयर फाउंडेशन द्वारा विकसित और रखरखाव किया जाता है। यह एक सॉफ़्टवेयर है जो वेब पेज एक्सेस करने के लिए उपयोगकर्ता से अनुरोध लेता है। HTTP अनुरोध पर कुछ सुरक्षा जांच की जाती है और फिर उपयोगक

  1. - MySQL में AUTO_INCREMENT कॉलम के साथ काम करना

    आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id