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

पोर्टेबल SQL upsert (insert+update) समाधान की आवश्यकता है

कुछ हद तक आधुनिक डेटाबेस का उपयोग करते हुए एकमात्र पूरी तरह से डेटाबेस-अज्ञेय समाधान, अद्यतन को कॉल करना है फिर दो परिचालनों में सम्मिलित करें। कुछ डेटाबेस एक ही ऑपरेशन में भेजे गए कई स्टेटमेंट की अनुमति नहीं देते हैं और कुछ डेटाबेस अपडेट से प्रभावित पंक्तियों की संख्या वापस नहीं कर सकते हैं, इसलिए मैं उस पर भरोसा नहीं करूंगा।

Update MyTable
Set Data = 'Data'
Where KeyCol = 'key';

(अलग कॉल)

Insert Into MyTable(KeyCol, Data)
Select 'key', 'Data'
From ( Select 1 As Value ) As Z
Where Not Exists    (
                    Select 1
                    From MyTable As T1
                    Where T1.KeyCol = 'key'
                    );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक वस्तु json में दो प्रश्न mysql

  2. mySQL सहसंबद्ध सबक्वेरी

  3. SQL त्रुटि 1630:फ़ंक्शन सबस्ट्रिंग मौजूद नहीं है .. हुह?

  4. प्रत्येक प्रश्न के लिए संग्रहित प्रक्रियाओं का उपयोग न करने का कोई कारण?

  5. मैं mysql में कुल फ़ंक्शन का उपयोग करके एक चर के लिए मान कैसे निर्दिष्ट कर सकता हूं?