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

यदि कोई प्रविष्टि मौजूद नहीं है तो बनाएं, अन्यथा अपडेट करें?

बहुत सारे डेवलपर अभी भी यह जांचने के लिए एक क्वेरी निष्पादित करते हैं कि क्या कोई फ़ील्ड तालिका में मौजूद है और फिर पहली क्वेरी के परिणाम के अनुसार एक इंसर्ट या अपडेट क्वेरी निष्पादित करें। ON DUPLICATE KEY सिंटैक्स का उपयोग करने का प्रयास करें, यह बहुत तेज़ और बेहतर है फिर 2 प्रश्नों को निष्पादित करना। अधिक जानकारी यहां मिल सकती है।

यदि आप c के लिए समान मान रखना चाहते हैं तो आप उसी मान के साथ अद्यतन कर सकते हैं

'बदलें' और 'डुप्लिकेट कुंजी पर' के बीच का अंतर:

यदि आपकी तालिका में प्राथमिक कुंजी या अद्वितीय कुंजी नहीं है, तो प्रतिस्थापन का कोई मतलब नहीं है।

आप VALUES . का भी उपयोग कर सकते हैं वास्तविक मान दो बार निर्दिष्ट करने से बचने के लिए कार्य। उदा. के बजाय

INSERT INTO table (a,b,c) VALUES (4,5,6) ON DUPLICATE KEY UPDATE c=6;

आप उपयोग कर सकते हैं

INSERT INTO table (a,b,c) VALUES (4,5,6) ON DUPLICATE KEY UPDATE c=VALUES(c);

जहां VALUES(c) पहले से निर्दिष्ट मूल्य (6) का मूल्यांकन करेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं PHP में SQL क्वेरी के अंदर सिंगल कोट्स को कैसे प्रबंधित करूं?

  2. अपवाद:पहले से ही इस कनेक्शन से जुड़ा एक खुला डेटा रीडर है जिसे पहले बंद किया जाना चाहिए

  3. मैं MySQL ऑप्टिमाइज़र को किसी व्युत्पन्न तालिका पर अनुक्रमणिका का उपयोग करने के लिए कैसे कहूँ?

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

  5. wp_postmeta के संदर्भ इतने धीमे क्यों हैं?