INSERT ... ON DUPLICATE KEY UPDATE
. का उपयोग करने का प्रयास करें
यदि आप ON DUPLICATE KEY UPDATE को निर्दिष्ट करते हैं, और एक पंक्ति डाली जाती है जो UNIQUE अनुक्रमणिका या प्राथमिक कुंजी में डुप्लिकेट मान का कारण बनेगी, तो MySQL पुरानी पंक्ति का अद्यतन करता है।
उदाहरण के लिए, यदि कॉलम a को UNIQUE घोषित किया गया है और इसमें मान 1 है, तो निम्नलिखित दो कथनों का समान प्रभाव है:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
(प्रभाव उस तालिका के लिए समान नहीं हैं जहां a एक ऑटो-इन्क्रीमेंट कॉलम है। ऑटो-इंक्रीमेंट कॉलम के साथ, एक INSERT
स्टेटमेंट ऑटो-इन्क्रीमेंट वैल्यू को बढ़ाता है लेकिन UPDATE
नहीं।)
ON DUPLICATE KEY UPDATE क्लॉज में कॉमा द्वारा अलग किए गए कई कॉलम असाइनमेंट हो सकते हैं।
ON DUPLICATE KEY UPDATE के साथ, प्रभावित-पंक्तियों का मान प्रति पंक्ति 1 है यदि पंक्ति को एक नई पंक्ति के रूप में डाला गया है, और 2 यदि कोई मौजूदा पंक्ति अपडेट की गई है।
आशा है कि इससे मदद मिलेगी।