2012-07-26 8 views
31
$query = mysql_query("UPDATE a SET fruit = '**apple**' WHERE id = '**1**' "); 
$query2 = mysql_query("UPDATE a SET fruit = '**orange**' WHERE id = '**2**' "); 
$query3 = mysql_query("UPDATE a SET fruit = '**peach**' WHERE id = '**3**' "); 

क्या यह एक प्रश्न के लिए सरल बनाने का कोई तरीका है?एक प्रश्न के साथ mysql डेटा अद्यतन करने के लिए थोक कैसे करें?

+0

आपके पास फल और आईडी के लिए मूल्य है सरणी में ?? – Jalpesh

+0

मैं कहना चाहता हूं कि फल और आईडी का मूल्य आप कैसे प्राप्त कर सकते हैं ?? – Jalpesh

उत्तर

48

हाँ आप इसे इस क्वेरी का उपयोग कर सकते हैं:

UPDATE a 
SET fruit = (CASE id WHEN 1 THEN 'apple' 
        WHEN 2 THEN 'orange' 
        WHEN 3 THEN 'peach' 
      END) 
WHERE id IN(1,2 ,3); 
+0

'आईडी आईडी जब 1 तब 'सेब' जब 2 तब ... 'एक विकल्प है। –

+0

हाँ धन्यवाद! अद्यतन पद! – Omesh

+0

आप महान ओमेश हैं! –

48

मैं एक निम्न समाधान नहीं मिला:

INSERT into `table` (id,fruit) 
    VALUES (1,'apple'), (2,'orange'), (3,'peach') 
    ON DUPLICATE KEY UPDATE fruit = VALUES(fruit); 

आईडी अद्वितीय या प्राथमिक कुंजी होना चाहिए। लेकिन प्रदर्शन के बारे में पता नहीं है।

+0

यह मेरे लिए काम करता है। मुझे आश्चर्य है कि क्यों MySQL ने थोक अद्यतन कथन लागू नहीं किया। –

+0

क्या उन्हें लगता है कि तैयार बयान पर्याप्त है? – Yaroslav

+1

कुछ उपयोग मामलों के लिए आदर्श समाधान, लेकिन यह तब काम नहीं करेगा यदि 'टेबल' में एक आवश्यक कॉलम' बी' है जिसका कोई डिफ़ॉल्ट मान नहीं है, भले ही अद्यतन किए जा रहे रिकॉर्ड पहले से ही इस मान को परिभाषित कर चुके हैं। मौजूदा रिकॉर्ड के केवल हिस्सों को अपडेट करना एक अलग दृष्टिकोण की आवश्यकता है। –

-20

कृपया http://blog.bubble.ro/how-to-make-multiple-updates-using-a-single-query-in-mysql/

सही उत्तर का उल्लेख हाँ, आप इस को क्रियान्वित करते हुए इस लक्ष्य को हासिल कर सकते हैं

UPDATE a 
SET fruit = (CASE id WHEN 1 THEN 'apple' 
        WHEN 2 THEN 'orange' 
        WHEN 3 THEN 'peach' 
        ELSE fruit 
      END) 

WHERE id IN(1,2 ,3); 
+11

के लिए बढ़ता है कृपया डुप्लिकेट उत्तरों पोस्ट न करने का प्रयास करें। विशेष रूप से जब आपकी प्रतिलिपि का जवाब साल पहले पोस्ट नहीं किया गया था और आपका उत्तर कोई मूल्य नहीं जोड़ता है मूल – pythonian29033

-6

है; उम्मीद है कि यह काम करता है।

अद्यतन एक सेट फल = (मामला ID जब 1 फिर 'सेब' जब 2 फिर 'नारंगी' जब 3 फिर 'आड़ू' अंत) कहां में आईडी (1,2, 3);

+2

यह सचमुच स्वीकार्य उत्तर की प्रतिलिपि/पेस्ट है – Kip

संबंधित मुद्दे