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

यदि दो फ़ील्ड मौजूद हैं तो अपडेट करें, यदि नहीं तो डालें (MySQL)

MySQL में एक अद्वितीय अनुक्रमणिका का एक कॉलम पर होना आवश्यक नहीं है। आप केवल अपने ALTER TABLE..ADD UNIQUE में अधिक कॉलम निर्दिष्ट करके अनेक स्तंभों पर एक अद्वितीय अनुक्रमणिका जोड़ सकते हैं कथन:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

अब आप एक नियमित INSERT INTO...ON DUPLICATE KEY . का उपयोग कर सकते हैं बयान।

SQLFiddle DEMO (ध्यान दें कि कई बार दोहराए गए मान नहीं जोड़े गए हैं - बाकी सभी हैं )

नोट :

यदि दोनों में से कोई भी NULL है, तो यह नहीं होगा अद्वितीय के रूप में गिना जाएगा। mykey 'बार' और myfoo . होना NULL होने को अनंत में जोड़ा जा सकता है, भले ही उनके पास "समान" मान हों (NULL वास्तव में कोई मान नहीं है)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा + मैसकल UTF8 समस्या

  2. डायनामिक कॉलम को पंक्तियों में स्थानांतरित करना

  3. एडब्ल्यूएस आरडीएस इंस्टेंस अपग्रेड डाउन टाइम

  4. MYSQL - ग्रुप बाय लिमिट

  5. MySQLi के साथ डेटाबेस में सभी तालिकाओं को सूचीबद्ध करें