Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में डुप्लीकेट रिकॉर्ड डालने से कैसे बचें?

कभी-कभी आपको MySQL तालिका में पंक्तियाँ जोड़ते समय डुप्लिकेट डालने से रोकने की आवश्यकता हो सकती है। आप इसे INSERT IGNORE स्टेटमेंट का उपयोग करके आसानी से कर सकते हैं। इस लेख में, हम देखेंगे कि MySQL में डुप्लिकेट रिकॉर्ड डालने से कैसे बचा जाए।


MySQL में डुप्लीकेट रिकॉर्ड डालने से कैसे बचें

यहाँ MySQL में डुप्लिकेट रिकॉर्ड डालने से बचने के चरण दिए गए हैं। ध्यान में रखने के लिए दो भाग हैं। सबसे पहले, आपको अपनी तालिका के लिए एक अद्वितीय कॉलम इंडेक्स बनाना होगा। इसके बाद, आपको डुप्लिकेट रिकॉर्ड से बचने के लिए INSERT IGNORE का उपयोग करके डेटा सम्मिलित करना होगा।

मान लें कि आपके पास निम्न तालिका है बिक्री (आईडी, आदेश_तिथि, राशि)

mysql> create table sales(
          id int, 
          order_date date, 
          amount int
          );


<एच2>1. अद्वितीय अनुक्रमणिका बनाएं

हम id . के लिए एक अद्वितीय अनुक्रमणिका जोड़ते हैं ALTER TABLE स्टेटमेंट का उपयोग करके कॉलम।

यहाँ MySQL में UNIQUE इंडेक्स बनाने का सिंटैक्स दिया गया है।

alter table table_name ADD UNIQUE INDEX(
        column_name1, 
        column_name2,
        ...
        column_nameN
        );

यहाँ UNIQUE अनुक्रमणिका को id . में जोड़ने के लिए SQL क्वेरी है बिक्री . में कॉलम टेबल।

mysql> alter table sales ADD UNIQUE INDEX(id);


2. INSERT IGNORE का उपयोग करके डेटा डालें

इसके बाद, हम INSERT IGNORE का उपयोग करके डेटा सम्मिलित करेंगे।

आगे बढ़ने से पहले, आइए देखें कि MySQL में INSERT IGNORE क्या है और INSERT IGNORE कैसे काम करता है।


INSERT IGNORE क्या है?

INSERT IGNORE एक कमांड है जो MySQL टेबल में डेटा डालने पर MySQL को त्रुटियों को अनदेखा करने के लिए मजबूर करता है।


INSERT IGNORE कैसे काम करता है?

हमारे मामले में, हमने पहले ही id . के लिए एक अद्वितीय अनुक्रमणिका बना ली है कॉलम। यदि हम डुप्लिकेट पंक्तियों के साथ डेटा जोड़ने के लिए INSERT कथन का उपयोग करते हैं, तो MySQL एक त्रुटि देगा और पहली डुप्लिकेट पंक्ति के बाद क्वेरी निष्पादन को रोक देगा।

इसके बजाय, जब हम INSERT IGNORE का उपयोग करते हैं, तो MySQL बिना किसी त्रुटि के डुप्लिकेट पंक्ति के सम्मिलन को चुपचाप त्याग देगा, और क्वेरी निष्पादन जारी रखेगा।

इसलिए यदि किसी रिकॉर्ड में डुप्लिकेट डेटा नहीं है, तो MySQL इसे हमेशा की तरह सम्मिलित करेगा। यदि यह एक डुप्लीकेट रिकॉर्ड है, तो MySQL इसे केवल अनदेखा कर देगा।

यहां बिक्री . में डुप्लीकेट के बिना डेटा सम्मिलित करने के लिए SQL क्वेरी है टेबल।

mysql> mysql> insert ignore into sales(id,order_date,amount)
     values(1, '2021-01-01', 250),
     (1, '2021-01-01', 250),
     (2, '2021-01-02', 200),
     (3, '2021-01-03', 150),
     (2, '2021-01-02', 200);
Query OK, 3 rows affected (0.10 sec)
Records: 5  Duplicates: 2  Warnings: 0

mysql> select * from sales;
+------+------------+--------+
| id   | order_date | amount |
+------+------------+--------+
|    1 | 2021-01-01 |    250 |
|    2 | 2021-01-02 |    200 |
|    3 | 2021-01-03 |    150 |
+------+------------+--------+

जैसा कि आप देख सकते हैं, MySQL बिना किसी त्रुटि के डुप्लिकेट पंक्तियों को सम्मिलित करने से बचता है।

MySQL के लिए रिपोर्टिंग टूल चाहिए? Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL या MariaDB का बैकअप लेने के लिए mysqldump का उपयोग करें

  2. चेतावनी:mysql_query ():3 मान्य MySQL-लिंक संसाधन नहीं है

  3. पता लगाएं कि MySQL में मान संख्या है या नहीं

  4. MySQL प्रतिकृति स्वास्थ्य जाँच स्क्रिप्ट

  5. SQL सर्वर डेटाबेस को MySQL में कैसे निर्यात करें?