हमारे पास एक डेटाबेस है जो क्रोनबॉज के साथ आधी रात को अपडेट किया जाता है, हमें बाहरी एक्सएमएल से नया डेटा मिलता है।कैसे पता चलेगा कि "डुप्लिकेट कुंजी अपडेट पर" उपयोग करते समय एक पंक्ति डाली या अपडेट की गई थी?
हम क्या करते हैं कि हम सभी नई सामग्री डालें और यदि कोई डुप्लीकेट कुंजी है तो हम उस फ़ील्ड को अपडेट करते हैं।
INSERT INTO table (id, col1, col2, col3)
values (id_value, val1, val2, val3),
(id_value, val1, val2, val3),
(id_value, val1, val2, val3),
(id_value, val1, val2, val3),
ON DUPLICATE KEY UPDATE
col1 = VALUES (col1),
col2 = VALUES (col2),
col3 = VALUES (col3);
हम क्या जानना चाहते हैं कि वास्तव में कौन सी पंक्तियां डाली गई हैं, जिसका अर्थ है कि हम नए आइटमों की एक सूची चाहते हैं। क्या कोई ऐसी क्वेरी है जो नए आवेषण वापस कर सकती है? असल में हमें सभी नए आईडी प्राप्त करने की आवश्यकता होगी, न कि नए प्रविष्टियों की संख्या।
धन्यवाद
धन्यवाद Quassnoi, अच्छा विचार है, मैंने उडपेटेड नामक एक नए कॉलम का उपयोग किया है और आपके विचार को विभिन्न दृष्टिकोण के साथ लागू किया है जो वास्तव में महान काम करता है मैं, कृपया किए गए संशोधनों के लिए अपने उत्तर की समीक्षा करें और मुझे कुछ प्रतिक्रिया दें। यह बहुत अच्छा काम किया। – multimediaxp