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

MySQL में डुप्लीकेट पंक्तियाँ डालने से कैसे रोकें

समाधान: UNIQUE कंस्ट्रेंट का उपयोग

MySQL में डुप्लीकेट पंक्तियों को रोकने के लिए, आप संयुक्त (composite) UNIQUE कंस्ट्रेंट का उपयोग कर सकते हैं।

सिंटैक्स

ALTER TABLE yourTableName ADD UNIQUE(yourColumnName1, yourColumnName2, ...N);

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

टेबल बनाना

mysql> CREATE TABLE avoidInsertingDuplicateRows (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstValue INT,
    -> SecondValue INT
    -> );
Query OK, 0 rows affected (0.53 sec)

टेबल संरचना देखना

mysql> DESC avoidInsertingDuplicateRows;

आउटपुट में तीन कॉलम दिखेंगे: Id (PRIMARY KEY), FirstValue, SecondValue

UNIQUE कंस्ट्रेंट जोड़ना

mysql> ALTER TABLE avoidInsertingDuplicateRows ADD UNIQUE(FirstValue, SecondValue);

डेटा डालकर परीक्षण

mysql> INSERT INTO avoidInsertingDuplicateRows(FirstValue, SecondValue) VALUES(10, 20);
Query OK, 1 row affected (0.24 sec)

mysql> INSERT INTO avoidInsertingDuplicateRows(FirstValue, SecondValue) VALUES(10, 20);
ERROR 1062 (23000): Duplicate entry '10-20' for key 'FirstValue'

परिणाम देखना

mysql> SELECT * FROM avoidInsertingDuplicateRows;

आउटपुट: केवल एक पंक्ति (Id: 1, FirstValue: 10, SecondValue: 20)

मुख्य बिंदु

  • संयुक्त UNIQUE कंस्ट्रेंट कॉलम के संयोजन को अद्वितीय बनाता है
  • डुप्लीकेट डालने पर MySQL त्रुटि 1062 फेंकता है
  • यह दृष्टिकोण डेटा अखंडता सुनिश्चित करता है
  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर

  1. - MySQL में डुप्लिकेट पंक्तियाँ खोजना (कंपोजिट की)

    कंपोजिट कॉलम पर GROUP BY HAVING से डुप्लिकेट एक से अधिक कॉलम के संयोजन (कंपोजिट की) पर डुप्लिकेट खोजने के लिए उन सभी कॉलम पर GROUP BY करें और = 2 लगाएँ। तालिका और डेटा (2019-09-10 05:00:50, AUS); क्वेरी: तिथि (दिन) और देश के संयोजन पर डुप्लिकेट ORDER BY c; परिणाम +---------------------+------

  1. - MySQL टेबल पर केवल 3 क्रमबद्ध पंक्तियां कैसे चुनें?

    परिचय MySQL में ORDER BY क्लॉज के साथ LIMIT का उपयोग करके क्रमबद्ध परिणामों में से केवल निर्दिष्ट संख्या में पंक्तियां प्राप्त की जा सकती हैं। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.52 sec) INSERT INTO DemoTable1551(EmployeeName) VALUES(Adam); Query OK, 1 row affected (