मुझे पता है कि आप एक साथ कई पंक्तियों को सम्मिलित कर सकते हैं, क्या MySQL में एक साथ कई पंक्तियों को अपडेट करने का कोई तरीका है (जैसा कि एक प्रश्न में)?
संपादित करें: उदाहरण के लिए मेरे पास निम्नलिखित है
Name id Col1 Col2 Row1 1 6 1 Row2 2 2 3 Row3 3 9 5 Row4 4 16 8
मैं निम्नलिखित सभी अद्यतनों को एक प्रश्न में जोड़ना चाहता हूं
UPDATE table SET Col1 = 1 WHERE id = 1; UPDATE table SET Col1 = 2 WHERE id = 2; UPDATE table SET Col2 = 3 WHERE id = 3; UPDATE table SET Col1 = 10 WHERE id = 4; UPDATE table SET Col2 = 12 WHERE id = 4;
आप अपडेट पर जुड़ने का भी उपयोग करने में रुचि ले सकते हैं, जो भी संभव है।
Update someTable Set someValue = 4 From someTable s Inner Join anotherTable a on s.id = a.id Where a.id = 4 -- Only updates someValue in someTable who has a foreign key on anotherTable with a value of 4.
संपादित करें: यदि आप जिन मानों को अपडेट कर रहे हैं वे डेटाबेस में कहीं और नहीं आ रहे हैं, तो आपको कई अपडेट क्वेरी जारी करने की आवश्यकता होगी।
UPDATE table1, table2 SET table1.col1='value', table2.col1='value' WHERE table1.col3='567' AND table2.col6='567'
यह तुम्हारे लिए काम करना चाहिए।
कई तालिकाओं के लिए MySQL मैन्युअल में एक संदर्भ है।
UPDATE tableName SET col1='000' WHERE id='3' OR id='5'
यह जो आप खोज रहे हैं उसे प्राप्त करना चाहिए। बस और आईडी जोड़ें। मैंने इसका परीक्षण किया है।
हां, यह संभव है - आप INSERT का उपयोग कर सकते हैं ... डिप्लिकेट कुंजी अपडेट पर।
अपने उदाहरण का प्रयोग करना:
INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);
निम्नलिखित एक पंक्ति में सभी पंक्तियों को अद्यतन करेगा
Update Table Set Column1 = 'New Value'
अगला सभी उन पंक्तियों को अपडेट करेगा जहां कॉलम 2 का मान 5 से अधिक है
Update Table Set Column1 = 'New Value' Where Column2 > 5
एक से अधिक टेबल अपडेट करने के सभी Unkwntech का उदाहरण है
UPDATE table1, table2 SET table1.col1 = 'value', table2.col1 = 'value' WHERE table1.col3 = '567' AND table2.col6='567'