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

MYSQL:डुप्लिकेट अद्वितीय कुंजी के साथ रिकॉर्ड डालने पर मौजूदा प्राथमिक कुंजी प्राप्त करना?

अगर आपके पास UNIQUE है स्तंभ पर अनुक्रमणिका, चाहे आपने कुछ भी प्रयास किया हो, RDMS नहीं होगा उस कॉलम में डुप्लीकेट की अनुमति दें (NULL . को छोड़कर) मूल्य)।

जैसा कि आपने कहा, "त्रुटि" को रोकने के लिए समाधान है यदि यह संलग्न है। शायद INSERT IGNORE आपके मामले में।

वैसे भी, INSERT और UPDATE डेटाबेस को संशोधित करें। MySQL कभी नहीं इन कथनों के लिए मान लौटाएँ। अपने DB को पढ़ने का एकमात्र तरीका SELECT . का उपयोग करना है बयान।

यहां "समाधान" सरल है, क्योंकि आपके पास एक UNIQUE है कॉलम:

INSERT IGNORE INTO tbl (pk, sha_key) VALUES ( ... ), ( ... );
SELECT pk, sha_key FROM tbl WHERE sha_key IN ( ... );
--                                             ^^^
--             Here the list of the sha1 keys you *tried* to insert


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. COUNT . के साथ राइट जॉइन का संयोजन

  2. अनुक्रमित करें:त्रुटि:त्रुटि:तालिका 1 तालिका 2 से संबद्ध नहीं है

  3. दिनांक और अन्य फ़ील्ड द्वारा समूहीकृत कुल फ़ील्ड प्राप्त करें

  4. कई से कई रिश्ते

  5. MySql प्रश्नों में RegEx बनाम LIKE का प्रदर्शन