बहुत सारे डेवलपर अभी भी यह जांचने के लिए एक क्वेरी निष्पादित करते हैं कि क्या कोई फ़ील्ड तालिका में मौजूद है और फिर पहली क्वेरी के परिणाम के अनुसार एक इंसर्ट या अपडेट क्वेरी निष्पादित करें। 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) का मूल्यांकन करेगा।