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

MySQL केवल नई पंक्ति सम्मिलित करता है यदि स्तंभों का संयोजन (जो डुप्लिकेट की अनुमति देता है) अद्वितीय है

एक समग्र अद्वितीय अनुक्रमणिका बनाएं। यह अलग-अलग क्षेत्रों में किसी भी संख्या में डुप्लिकेट की अनुमति देगा, लेकिन संयोजन अद्वितीय होना चाहिए।

CREATE UNIQUE INDEX ix_uq ON test (field1, field2, field3);

...और INSERT IGNORE . का उपयोग करें सम्मिलित करने के लिए यदि अद्वितीय अनुक्रमणिका का उल्लंघन नहीं किया गया है। अगर ऐसा है, तो बस इन्सर्ट पर ध्यान न दें।

INSERT IGNORE INTO test (field1,field2,field3) VALUES (1,1,1);

परीक्षण के लिए एक SQLfiddle

यदि आप डुप्लीकेट न होने तक सम्मिलित करना चाहते हैं, और यदि है तो अपडेट करना चाहते हैं, तो आप INSERT INTO ... ON DUPLICATE KEY UPDATE का भी उपयोग कर सकते हैं।;

INSERT INTO test (field1, field2, field3) VALUES (1,1,1)
  ON DUPLICATE KEY UPDATE field4=field4+1;

एक और SQLfiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# और MySQL के साथ कनेक्शन का सही उपयोग

  2. दो स्टॉप नामों के बीच सभी प्रस्थान और आगमन के समय को सूचीबद्ध करने के लिए GTFS क्वेरी

  3. मैसकल टेबल की मरम्मत विफल:नया टेम्पफाइल नहीं बना सकता

  4. पंक्तियों की गिनती के लिए PHP के साथ मेरा एसक्यूएल सर्वोत्तम अभ्यास

  5. शेल स्क्रिप्ट का उपयोग करके एकाधिक MySQL कमांड निष्पादित करने का एक बेहतर तरीका