INSERT में सशर्त अपडेट... डुप्लिकेट कुंजी अपडेट पर
MySQL में, INSERT...ऑन डुप्लिकेट कुंजी अपडेट सिंटैक्स की अनुमति देता है किसी इन्सर्ट ऑपरेशन के दौरान डुप्लिकेट कुंजी सामने आने पर टेबल डेटा का स्वचालित अपडेट। हालाँकि, क्वेरी का अद्यतन भाग सशर्त अद्यतन निर्दिष्ट करने के लिए WHERE खंड के उपयोग का समर्थन नहीं करता है।
IF()
इस सीमा को पार करने के लिए समाधान, कोई व्यक्ति ऑन डुप्लिकेट कुंजी अपडेट क्लॉज के भीतर सशर्त अपडेट लागू करने के लिए IF() फ़ंक्शन का उपयोग कर सकता है। IF() फ़ंक्शन एक स्थिति का मूल्यांकन करता है और परिणाम के आधार पर एक अलग मान लौटाता है। क्रिएट_ऑन, लास्ट_इवेंट_आईडी, लास्ट_इवेंट_क्रिएटेड_एट) मान ('2010-01-19', 23, '2010-01-19 10:23:11') डुप्लिकेट कुंजी अद्यतन पर Last_event_id = IF(last_event_created_at
इस स्टेटमेंट में, IF() फ़ंक्शन जांच करता है कि डेटाबेस तालिका में Last_event_created_at कॉलम का मान इससे कम है या नहीं मान डाला जा रहा है (VALUES(last_event_created_at))। यदि सत्य है, तो यह अंतिम_इवेंट_आईडी कॉलम को इन्सर्ट स्टेटमेंट से नए मान के साथ अपडेट करता है। अन्यथा, यह मौजूदा मान को अपरिवर्तित छोड़ देता है।
INSERT INTO daily_events (created_on, last_event_id, last_event_created_at) VALUES ('2010-01-19', 23, '2010-01-19 10:23:11') ON DUPLICATE KEY UPDATE last_event_id = IF(last_event_created_at
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3