"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > डुप्लिकेट कुंजी अपडेट पर MySQL के INSERT... में सशर्त अपडेट कैसे करें?

डुप्लिकेट कुंजी अपडेट पर MySQL के INSERT... में सशर्त अपडेट कैसे करें?

2024-11-17 को प्रकाशित
ब्राउज़ करें:578

How to Perform Conditional Updates in MySQL\'s INSERT ... ON DUPLICATE KEY UPDATE?

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